Назад | Перейти на главную страницу

Запросы к большой таблице базы данных возвращают пустой набор

Я пытаюсь понять странную проблему с базой данных 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 обнаруживал неправильные окончания строк, а записи имели завершающий символ возврата каретки.