Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL:Какво е по подразбиране Подреждане по на заявките?

Няма такъв ред. Взето от http://forums.mysql.com/read .php?21,239471,239688#msg-239688

  • Не зависи от поръчката, когато липсва ORDER BY.

  • Винаги посочвайте ORDER BY, ако искате конкретна поръчка - в някои ситуации двигателят може да елиминира ORDER BY поради това как прави някаква друга стъпка.

  • GROUP BY сили ORDER BY. (Това е нарушение на стандарта. Може да се избегне, като се използва ORDER BY NULL.)

SELECT * FROM tbl -- това ще направи "сканиране на таблица". Ако таблицата никога не е имала DELETE/REPLACE/UPDATE, записите ще бъдат в реда на вмъкване, следователно това, което сте наблюдавали.

Ако сте направили същото изявление с таблица на InnoDB, те биха били доставени в ред на ПЪРВИЧЕН КЛЮЧ, а не на INSERT. Отново, това е артефакт на основната реализация, а не нещо, от което да зависи.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разлика между SELECT INTO и INSERT INTO в MySQL

  2. Как да промените набора от символи от latin1 на UTF8 в MySQL

  3. Промяна и нулиране на MySQL root парола

  4. Как работи функцията INSTR() в MySQL

  5. Мигриране на Google Cloud SQL за MySQL към On-Prem сървър