CREATE TABLE `tab` (
`item` smallint(5) unsigned NOT NULL,
`param` tinyint(2) unsigned NOT NULL,
`val` tinyint(3) unsigned NOT NULL,
KEY `item` (`item`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Данные:
1 | 1 | 135
1 | 2 | 25
1 | 3 | 245
1 | 4 | 147
1 | 5 | 10
1 | 6 | 0
2 | 1 | 144
2 | 2 | 20
2 | 3 | 87
2 | 4 | 100
2 | 5 | 12
2 | 6 | 345
`item`-ов разных! будет около 10.000, `param` - сейчас 55. Итого 10.000 * 55 = ~550.000 строк.
Изменение значений `val` проходит так:
1) DELETE FROM `tab` WHERE `item` = '1'
2) INSERT INTO `tab` VALUE (1,1,135), (1,2,25), (1,3,245)...
При удалении строк происходит фрагментация. Даже сейчас phpmyadmin выводит уже таблицу в разнобой, (как-то хаотично все) Я боюсь что будут еще и проблемы со скоростью потом. Делать UPDATE существующих строк думаю дольше, чем удалить и добавить.
Скажите, это лучшая структура таблицы для моего случая или тут лучше сделать иначе?
Может добавить к таблице колонку `id` AUTO INCREMENT ?? но толку от этого поля нет.
_____________
..Работает - не трогай!