phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

MySQL — Dlaczego phpMyAdmin działa bardzo wolno z tym zapytaniem, które jest superszybkie w php/mysqli?

Największa różnica to oczywiście że phpmyadmin dodaje LIMIT do zapytania. To daje główne wyjaśnienie. Nie mogę uwierzyć, że to nie była pierwsza rzecz, której próbowaliśmy, jestem bardzo zawstydzony.

Jednak różnica prędkości między phpMyAdmin i mysqli jest nadal duża, a wyniki są nadal różne (2020-05-01 na serwerze lub mysqli):

+----------------------------+----------+
| Variable_name              | Value    |
+----------------------------+----------+
| Handler_commit             | 1        |
| Handler_read_first         | 1        |
| Handler_read_next          | 11733306 |
| rest                       | 0        |
+----------------------------+----------+

Prędkość z limit i 2020-05-02:około 0.17-0.2Speed ​​z limit i 2020-05-01:php/mysqli:zgłoszone:3,5 s, ale strona ładuje się przez około 30 sputty/mariadb:żąda również 3,5 s, ale pokazuje wyniki po około 30 sphpmyadmin:zgłoszone i w czasie rzeczywistym około 60 s

Również WYJAŚNIENIE zmienia się znacznie z LIMIT:

(z rzędami 1268 z odniesieniem<20200501 i 1351 z odniesieniem<20200502)

+------+-------------+------------------+-------+------------------------------------+------------+---------+------+------+-------------+
| id   | select_type | table            | type  | possible_keys                      | key        | key_len | ref  | rows | Extra       |
+------+-------------+------------------+-------+------------------------------------+------------+---------+------+------+-------------+
|    1 | SIMPLE      | TitelDaggegevens | index | fondskosten,Datum+isbn+fondskosten | ISBN+datum | 9       | NULL | 1351 | Using where |
+------+-------------+------------------+-------+------------------------------------+------------+---------+------+------+-------------+


  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Ostrzeżenie php:błąd strtotime()

  2. ZAPYTANIE SQL NA WIELU TABELACH

  3. MySQL LOAD DATA LOCAL INFILE importuje tylko jeden wiersz

  4. Błąd MySQL:brak indeksu dla ograniczenia

  5. Zapytanie SQL, aby dodać prefiks do istniejącej wartości w polu