Trike
Новичок
Портится индекс при добавлении 100К+ строк в таблицу
Здравствуйте.
Сторонняя программа напрямую добавляет в таблицу данные - за раз 100-300 тысяч строк вида int,int,int,int,float (все int поля - индексные)
Эти данные выбираются составным запросом. При обычной выборке затрагивается 20-30 строк из этой таблицы по ключу.
Пока таблица была размером до 1 млн строк - индекс был в порядке. После очередного добавления, запрос на хостинге начал виснуть - explain показал, что выбираются все 1,5 млн строк без ключа.
Сделал дамп базы и восстановление из дампа - запрос начал работать нормально. Добавились еще 100 тыс. строк - опять выборка выдает все строки из этой таблицы.
Попробовал optimize таблицу - не помогло, физический размер индекса только уменьшился в 2 раза, repair тоже не дал результата.
На локальном сервере размер индекса этой таблицы - 70Мб, на хостинге - 18Мб.
Подскажите, пожалуйста, с чем может быть связана порча индекса, и как это вылечить (кроме дампа и восстановления после каждого добавления строк).
Mysql 5.0.33
Здравствуйте.
Сторонняя программа напрямую добавляет в таблицу данные - за раз 100-300 тысяч строк вида int,int,int,int,float (все int поля - индексные)
Эти данные выбираются составным запросом. При обычной выборке затрагивается 20-30 строк из этой таблицы по ключу.
Пока таблица была размером до 1 млн строк - индекс был в порядке. После очередного добавления, запрос на хостинге начал виснуть - explain показал, что выбираются все 1,5 млн строк без ключа.
Сделал дамп базы и восстановление из дампа - запрос начал работать нормально. Добавились еще 100 тыс. строк - опять выборка выдает все строки из этой таблицы.
Попробовал optimize таблицу - не помогло, физический размер индекса только уменьшился в 2 раза, repair тоже не дал результата.
На локальном сервере размер индекса этой таблицы - 70Мб, на хостинге - 18Мб.
Подскажите, пожалуйста, с чем может быть связана порча индекса, и как это вылечить (кроме дампа и восстановления после каждого добавления строк).
Mysql 5.0.33