Я пытаюсь понять странную проблему с базой данных MySQL на одном из моих веб-сайтов.
Когда я загрузил большой набор данных из CSV-файла (2200000 записей с одним столбцом, используя LOAD DATA
) в таблицу, мое приложение начало плохо себя вести.
После некоторого времени, изучив неисправность, я обнаружил, что некоторые запросы к этой большой таблице не работают должным образом.
Я пробовал самый простой запрос для поиска определенной записи в этой таблице: запрос определенного значения (которое я знаю, что оно присутствует) для varchar(45)
столбец первичного ключа (например, SELECT column_name FROM table_name WHERE column_name = "string_value"
). На удивление сервер вернул мне пустой набор. Я тоже пробовал SELECT COUNT(*) FROM table_name WHERE column_name = "string_value"
и он вернул ноль.
Когда я выполняю аналогичный поиск значения в аналогичной таблице (но с парой записей), запрос работает правильно и возвращает мне одну строку.
Мой вопрос: возможно ли, что в этом случае ошибка сервера базы данных MySQL?
Я использую MySQL версии 5.6.35-80.0-log.
Структура двух примеров таблиц содержит два столбца: varchar(45)
первичный ключ и bit(1)
"логическое". Первый столбец содержит строку кода, состоящую из буквенно-цифровых символов.
Я решил свою проблему. При импорте CSV PhpMyAdmin обнаруживал неправильные окончания строк, а записи имели завершающий символ возврата каретки.