2016-07-28 9 views
0

1つの列がソートされたテーブルがあります。 MySQLは何らかの理由でソートされているかどうかチェックしていますか?私がcol1がソートされているような問い合わせをSELECT from tab WHERE col1>890 AND col1<74893798にすると、それは同じですか? SELECT from tab WHERE id>16 AND id<798176 クエリキャッシュをフラッシュする管理者権限がないため、これを正しくテストできませんでした。 col1は、列でソートされた別のテーブルから挿入されているため、ソートされています。ソートされたデータのMySQL SELECT

+0

mysqlには順序がありません – Jens

答えて

1

いいえ、where句で使用する列ではソートされません。 idのレコードはソートされているように見えます。これはおそらくプライマリキーであり、既にテーブル内のデータの位置を指定しているためです。データをソートする場合は、ORDER BY columnを追加する必要があります。

1

MySQLはデフォルトで結果をソートしません(What drive the natural result order for an unordered MySQL request)。一般に、リレーショナル・データベース管理システム(RDBMS)は、ORDER BY句を使用して注文を指定しない限り、特定の行順序を保証しません。

この利点は、データベースが最も最適と思われるフォーマットでデータを内部的にソートできることです。

関連する問題