0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 4792 Просмотров
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Оптимизирую таблицы в БД. Меняю тип данных для с int(11) на smallint(11). А можно и надо ли число "11" уменьшать?
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Никакого смысла уменьшать нет, цитирую официальную документацию (9.2. Numeric Types):

Цитировать
Another extension is supported by MySQL for optionally specifying the display width of integer data types in parentheses following the base keyword for the type (for example, INT(4)). This optional display width is used to display integer values having a width less than the width specified for the column by left-padding them with spaces.

The display width does not constrain the range of values that can be stored in the column, nor the number of digits that are displayed for values having a width exceeding that specified for the column. For example, a column specified as SMALLINT(3) has the usual SMALLINT range of -32768 to 32767, and values outside the range allowed by three characters are displayed using more than three characters.

Т.е. число в скобках влияет на количество отображаемых символов, и если значение в колонке по количеству символов меньше указанного, добивает слева пробелами... Не более того.

Кстати, не забывайте, что у типов smallint и int сильно отличаются максимальные значения. В smallint вы не сможете "засунуть" число больше чем 32767... Так что учитывайте этот фактор, при ваших оптмизиациях... Для количества пользователей, может их хватит (хотя у меня есть опыт работы с порталом на Joomla где количство пользователей во много раз превышает это число), а для каталога товаров, я бы не рисковал ставить этот тип в качестве идентифкатора.
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Чтож, если каталог товаров содерждит более 32767 записей - это хороший каталог ) В любом случае, спасибо огромное за разъяснение. В таблице jos_content уже успел вооббще все int на smallint заменить... Вроде бы и категорий меньше, и разделов, и статей, и пользователей...

Хотя по логике - изменение остальных полей оптимизации никакой не даст. Только ограничение значения. Выборка то по id идёт.
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

maverick_den

  • Захожу иногда
  • 68
  • 10 / 4
Чтож, если каталог товаров содерждит более 32767 записей - это хороший каталог ) В любом случае, спасибо огромное за разъяснение. В таблице jos_content уже успел вооббще все int на smallint заменить... Вроде бы и категорий меньше, и разделов, и статей, и пользователей...

Хотя по логике - изменение остальных полей оптимизации никакой не даст. Только ограничение значения. Выборка то по id идёт.
Да че-то я лично сильно сомневаюсь что оно вообще чего-то даст.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Да че-то я лично сильно сомневаюсь что оно вообще чего-то даст.
ну какие-то копейки конечно даст, но не серьезно... если уж и заниматься оптимизацией, то надо брать полный список запросов, анализировать их планы выполнения, корректировать индексы, сами запросы, оптимизировать конфигурацию самого MySQL - вот по этому пути можно достичь приличных результатов, а типы менять - больше времени потратите, чем выиграете...
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
ну начнем с того что авторы многих компонентов не брезгуют писать
SELECT * FROM ....
когда на деле надо всего пару полей вытащить, а если там и связанные таблицы присутствуют, то вообще ахтунг
На мелких сайтах это незаметно, но вот на серьезных надо просматривать все запросы к БД в каждом файле, как правильно заметил smart - начать с оптимизации самих запросов, а после уж и базы
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
В общем, надо плотно заняться mysql
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
В общем, надо плотно заняться mysql
это уже зависит от конкретной задачи... могу с уверенностью сказать, что задача оптимизации настолько увлекательна, что ей можно посвятить уйму времени... некоторые люди всю жизнь что-то оптимизируют... главное во-время остановиться, а для этого необходимо четко определить границы оптимизации
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Ну да. Это как ремонт в квартире. Его невозможно закончить, можно только остановить. Есть много общего ))
http://walkspb.ru - Энциклопедия Санкт-Петербурга
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенос данных пользователей с одной БД в другую

Автор Sulpher

Ответов: 4
Просмотров: 5735
Последний ответ 29.11.2009, 19:32:14
от beliyadm
Импорт базы данных

Автор Olga_E

Ответов: 5
Просмотров: 3418
Последний ответ 08.04.2009, 15:15:11
от iron-din
не подключается новая база данных

Автор zepterman

Ответов: 5
Просмотров: 3720
Последний ответ 23.03.2009, 11:11:36
от zepterman
Переустановка Jooomla - вопрос по импорту старых данных

Автор Grammaton_Cleric

Ответов: 2
Просмотров: 2583
Последний ответ 20.03.2008, 15:01:52
от Grammaton_Cleric
На всех сайтах у меня в коде вместо русских букв отображается код типа &#105

Автор madcap

Ответов: 3
Просмотров: 4264
Последний ответ 01.11.2007, 14:20:37
от mavik