Ошибка 2013: потерянное соединение с сервером MySQL во время запроса - PullRequest
3 голосов
/ 13 января 2012

Запрос 1 -

SELECT id,state,submission_id FROM document WHERE submission_id>=0;
+---------+-------+---------------+
| id      | state | submission_id |
+---------+-------+---------------+
| 3000001 |    -1 |         12345 | 
+---------+-------+---------------+
1 row in set (0.00 sec)

Очевидно, что есть только одна запись с submission_id> = 0.

Запрос 2 -

SELECT id,state,submission_id FROM document WHERE submission_id>=0 OR state=0 ORDER BY submission_id LIMIT 5;
ERROR 2013 (HY000): Lost connection to MySQL server during query

Третий запрос после того, как я просто подожду 10 минут

ВЫБРАТЬ * из документа, ГДЕ состояние = 0 ИЛИ submission_id> = 0 упорядочить по submission_id desc limit 5;

+----+-------+---------------+
| id | state | submission_id |
+----+-------+---------------+
|  1 |     1 |            -1 | 
|  2 |     1 |            -1 | 
|  3 |     1 |            -1 | 
|  4 |     1 |            -1 | 
|  5 |     1 |            -1 | 
+----+-------+---------------+

Что не так? Элемент id = 3000001 должен быть первым, верно?

Это происходит после того, как я проиндексировал столбец «представление». Есть ли способ удалить этот столбец из списка?

Для справки "опишите документ" выглядит как

+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| id            | int(11)      | NO   | PRI | NULL    | auto_increment | 
| state         | int(11)      | YES  | MUL | NULL    |                | 
| submission_id | int(11)      | YES  | MUL | NULL    |                | 
+---------------+--------------+------+-----+---------+----------------+

1 Ответ

0 голосов
/ 13 января 2012

Вот как удалить индекс submission_id

ALTER TABLE document DROP INDEX submission_id;

Если имя индекса не submission_id, вот как вы можете его найти:

SHOW CREATE TABLE document\G

Вы увидите определение таблицы с индексами, определенными внизу.

Вы увидите правильное название индекса.

Другой способ найти имя индекса submission_id:

SELECT index_name FROM information_schema.statistics
WHERE table_name='document'
AND column_name='submission_id';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...