
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.07.2005, 16:44
|
|||
|---|---|---|---|
|
|||
Как правильно сделать индекс на поля TINYINT(1) |
|||
|
#18+
вообщем-то есть таблица в ней скажем 86 тыс. строк формата : hour min sec ch1 ch2 ch3 ch4 00 00 00 -0.507792 -90.509807 -0.151870 -0.157095 00 00 01 -0.511538 -0.509628 -0.151606 -0.157184 .............. hour , min и sec имеют тип TINYINT(1) нужена быстрая выбока данных с ch1,ch2... по конкретному промежутку времени пробовал создавать индексы типа : ADD INDEX `inhour` USING BTREE(`hour`(1)), ADD INDEX `inhourmin` USING BTREE(`min`(1), `hour`(1)); к сожалению размеры индекса весьма велик ( немногим меньше чем сама Таблица ) даже если делаю один индекс ADD INDEX `inhour` USING BTREE(`hour`(1)), всеравно великовато очень 4 часть размера таблицы :-( в доке МуСкула прочитал что если много одинаковых значений в поле то размер индекса существанно уменьшается а скорость поиска увеличивается но этого я не заметил в своем индексе по полю hour хотя в этом поле всего значений от 0 до 23 - каждое значение часа повторяется 3600 раз . Поидее индекс на поле hour должен быть вообще ничтожно мал , но .... :-(( Спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1853871]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
189ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 466ms |

| 0 / 0 |
