データベース問合せの最適化が初めてです。 はここで、テーブルのクエリを作成します単純な型問合せのために10ミリ秒の行が3.50秒かかる
CREATE TABLE mo (
id int UNSIGNED NOT NULL auto_increment,
msisdn varchar(20) NOT NULL,
operatorid int UNSIGNED NOT NULL,
shortcodeid int UNSIGNED NOT NULL,
text varchar(100) NOT NULL,
auth_token varchar(60) NOT NULL,
created_at DATETIME,
PRIMARY KEY(id)
);
私のクエリはこれです:
SELECT count(id) as mo_count from mo where created_at > DATE_SUB(NOW(), INTERVAL 15 MINUTE)
私は結果が
Time taken for tests: 3.50 seconds
[0] => Array
(
[id] => 1
[select_type] => SIMPLE
[table] => mo
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 10000255
[Extra] => Using where
)
だったそれをテストしたときにどのようにこのクエリを最適化することを教えてください。どうもありがとうございます。
この表が増え続ける場合は、その数を頻繁にクエリすると、新しいデザインに興味があるかもしれません。たとえば、最後のレコードを非常に小さい「常にフレッシュな」表に保つことができます。一方、すべてのレコードを含む「履歴」テーブルがあります。また、特定の期間(日)ごとにテーブルを分割して分割することもできます。これにより、各カウントクエリのIOが制限されます。 – Sebas