程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql如何提高表的統計查詢速度

mysql如何提高表的統計查詢速度

編輯:MySQL綜合教程

對於數據庫大的表,在進行統計查詢時通常會比較慢的,並且還要考慮查詢是否會對在線應用產生影響,通常這種情況下我們使用中間表可以提高查詢統計速度,下面我們來統計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數據統計,不會對應用產生負面影響

中間表可以靈活的增加索引,或增加臨時的新字段,從而達到提高統計查詢有效方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved