|
|
|
Как правильно сделать индекс на поля 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 должен быть вообще ничтожно мал , но .... :-(( Спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2005, 16:44 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=654&tid=1853871]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
19ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 350ms |

| 0 / 0 |
