對於數據庫大的表,在進行統計查詢時通常會比較慢的,並且還要考慮查詢是否會對在線應用產生影響,通常這種情況下我們使用中間表可以提高查詢統計速度,下面我們來統計counttable來統計客戶每天消費的記錄,如下。
本教程要來告訴各位關於mysql教程如何提高表的統計查詢速度哦,我們這裡講到了使用中間表來提高數據表的查詢與統計速度了。
對於數據庫教程大的表,在進行統計查詢時通常會比較慢的,並且還要考慮查詢是否會對在線應用產生影響,通常這種情況下我們使用中間表可以提高查詢統計速度,下面我們來統計counttable來統計客戶每天消費的記錄,如下。
create tabel counttable( id,varchar(10),custi decimal(16,2),coutdate date,custip varchar(20)}
由於每天都會產生大量的客戶記錄,所以這個表的數據量會很大,現在業務部門有一要求,希望統計消費總金錢,下面我們來看實例。
mysq>select sum(custi) from counttable where custdate>adddate(now(),-7);
sum(custi)
161666666666
1row int set (3.95 sec)
方法二,使用中間表來處理tmp_cout
create tabel tmp_count(cid,varchar(10),custcount( decimal( 16,2),custdate date,custip varchar(20)};
現在來轉移要統計的數據放到中間表中進行統計並統計出結果
mysq>insert into tmp_count select * from counttalbe wher custdate<adddate(now,-7);
Query Ok 15777777 rows affected (6.67 sec)
records 15777777 duplicates: 0 warings 0;
現在我們來統計一下這個星期的客戶消費金額
mysql>select sum(cust_count) from tem_count;
sum( cust_count)
1696666666.22
1row in set ( 0.73 sec)
好了,從上面二種方法來看,花費的時間有很多的區別,
使用中間表的部份mysql數據統計,不會對應用產生負面影響
中間表可以靈活的增加索引,或增加臨時的新字段,從而達到提高統計查詢有效方法。