phpMyAdmin неправильно считает строки - PullRequest
0 голосов
/ 05 декабря 2018

Я не уверен, что с этим делать.Похоже, ошибка, но это так очевидно, что я должен делать что-то не так.Я пишу запрос в окне запроса phpMyAdmin:

SELECT * FROM `useralert`

Отображение строк 0 - 24 (всего 58157, запрос занял 0,0005 секунд.)

enter image description here

Теперь я добавлю условие, которое должно создавать меньше строк, чем общее количество строк:

SELECT * FROM `useralert` WHERE exchange='AVG'

Отображение строк 0 - 24 (всего 63870,Запрос занял 0,0004 секунды.)

enter image description here


Видите?Общее количество строк в таблице - 58157, но запрос с дополнительным условием дает больше строк?Как это вообще возможно?Я трижды проверил, что я не делаю глупую ошибку (и это число строк не изменяется снаружи).

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

По соображениям производительности phpMyAdmin возвращает приблизительное количество.См. https://docs.phpmyadmin.net/en/latest/config.html?highlight=maxexactcount#cfg_MaxExactCount

Как получить точный счет без изменения конфигурации: https://docs.phpmyadmin.net/en/latest/faq.html#faq3-11

0 голосов
/ 05 декабря 2018

Некоторые базы данных дают только оценку числа возвращенных строк, поэтому нельзя доверять цифре, которую дает phpMyAdmin, чтобы быть точной на 100%.

Если вы выполняете запрос:

SELECT COUNT(*) FROM useralert

и сравните его с:

SELECT COUNT(*) FROM useralert WHERE exchange='AVG'

Первый запрос должен быть больше или равен второму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...