Mysql
 sql >> Baza danych >  >> RDS >> Mysql

To zapytanie SELECT zajmuje 180 sekund, aby zakończyć

(Umieszczenie mojego komentarza jako odpowiedzi, ponieważ najwyraźniej miało to znaczenie!)

Jeśli ktoś chce to dokładniej zbadać, właśnie wykonałem test i stwierdziłem, że jest on bardzo łatwy do odtworzenia.

Utwórz tabelę

CREATE TABLE `filler` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) 

Procedura tworzenia

CREATE PROCEDURE `prc_filler`(cnt INT)
BEGIN
        DECLARE _cnt INT;
        SET _cnt = 1;
        WHILE _cnt <= cnt DO
                INSERT
                INTO    filler
                SELECT  _cnt;
                SET _cnt = _cnt + 1;
        END WHILE;
END

Wypełnij tabelę

  call prc_filler(5000)

Zapytanie 1

SELECT id 
FROM filler 
WHERE id =  (SELECT MAX(id) FROM filler  WHERE id =   
 ( SELECT MIN(id) 
    FROM filler
    WHERE id between 2000 and 3000
    )
  )

Równa się Wyjaśnij dane wyjściowe http://img689.imageshack.us/img689/5592/equals. png

Zapytanie 2 (ten sam problem)

SELECT id 
FROM filler 
WHERE id in  (SELECT MAX(id) FROM filler  WHERE id in   
 ( SELECT MIN(id) 
    FROM filler
    WHERE id between 2000 and 3000
    )
  )

Wyjaśnij dane wyjściowe http://img291.imageshack.us/img291/8129/52037513. png



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ap_pass_brigade nie powiodło się w funkcji handle_request_ipc

  2. Jak zaimportować do MySQL ogromny plik CSV z 200,00 wierszami (asynchronicznie i szybko)?

  3. jak przekonwertować dziwny czas varchar na czas rzeczywisty w mysql?

  4. Jak mogę wyszukiwać w tabeli wartości oddzielonych przecinkami?

  5. przekonwertuj listę na ciąg, aby wstawić do mojego sql w jednym wierszu w python scrapy