表統(tǒng)計信息是數(shù)據(jù)庫基于成本的優(yōu)化器最重要的參考信息;統(tǒng)計信息不準(zhǔn)確,優(yōu)化器可能給出不夠優(yōu)化的執(zhí)行計劃或者是錯誤的執(zhí)行計劃。對統(tǒng)計信息的計算分為非持久化統(tǒng)計信息(實時計算)與持久化統(tǒng)計信息。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供月湖網(wǎng)站建設(shè)、月湖做網(wǎng)站、月湖網(wǎng)站設(shè)計、月湖網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、月湖企業(yè)網(wǎng)站模板建站服務(wù),10年月湖做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
非持久化統(tǒng)計信息
統(tǒng)計信息沒有保存在磁盤上,而是頻繁的實時計算統(tǒng)計信息;
每次對表的訪問都會重新計算其統(tǒng)計信息;
假設(shè)針對一張大表的頻繁查詢,那么每次都要重新計算統(tǒng)計信息,很耗費資源。
持久化統(tǒng)計信息
把一張表在某一時刻的統(tǒng)計信息值保存在磁盤上;
避免每次查詢時重新計算;
如果表更新不是很頻繁,或者沒有達到 MySQL 必須重新計算統(tǒng)計信息的臨界值,可直接從磁盤上獲取;
即使 MySQL 服務(wù)重啟,也可以快速的獲取統(tǒng)計信息值;
統(tǒng)計信息的持久化可以針對全局設(shè)置也可以針對單表設(shè)置。
接下來,詳細說 MySQL 統(tǒng)計信息如何計算,何時計算,效果評估等問題。在 MySQL Server 層來控制是否自動計算統(tǒng)計信息的分布,并且來決策是持久化還是非持久化。
命令行下用 show columns from [table]
會得到如 xx rows in set (0.00 sec)
或者:
$sql="select * from article where 0";
$result = mysql_query($sql);
echo mysql_num_fields($result);
再或者:
desc [table]
1、打開終端窗口,登錄mysql。mysql -uroot -p。
2、SHOW DATABASES;USE testdb;這個時候切換到相應(yīng)的數(shù)據(jù)庫。
3、SHOW TABLES;INSERT INTO branch VALUES(6, 'BB', NULL, NULL);SELECT * FROM branch;比如我們?yōu)閎ranch這個表插入數(shù)據(jù)。
4、SELECT employee.emp_id, employee.first_name, branch.branch_nameFROM employee JOIN branch ON employee.emp_id = branch.mgr_id;這個時候進行一下數(shù)據(jù)的聯(lián)合,用JOIN。
方法一,在程序中直接desc?tablename,然后總行數(shù)就是字段數(shù)。
mysql?desc?ysks;
+-------+---------------+-----
|?Field?|?Type??????????|?Null
+-------+---------------+-----
|?單號??|?int(11)???????|?YES
|?金額??|?decimal(10,2)?|?YES
|?已收??|?decimal(10,2)?|?YES
|?日期??|?bigint(20)????|?YES
|?名稱??|?varchar(10)???|?YES
|?余額??|?decimal(10,2)?|?YES
|?備注??|?varchar(10)???|?YES
|?品名??|?varchar(10)???|?YES
+-------+---------------+-----
8?rows?in?set?(0.06?sec)
mysql?select?FOUND_ROWS();
+--------------+
|?FOUND_ROWS()?|
+--------------+
|????????????8?|
+--------------+
1?row?in?set?(0.06?sec)
mysql
方法二,通過系統(tǒng)表information_schema.`COLUMNS`?(?mysql5以上版本支持)。
mysql?select?count(*)?from?information_schema.`COLUMNS`
-?where?TABLE_SCHEMA='csdn'
-?and?TABLE_NAME='ysks';
+----------+
|?count(*)?|
+----------+
|????????8?|
+----------+
1?row?in?set?(0.06?sec)
mysql
你這多個主鍵的話就是求合集了
SELECT TOP 100 * FROM TABLE WHERE A=2 AND B=10
新聞標(biāo)題:mysql怎么抓取數(shù)量 mysql抽取數(shù)據(jù)
文章網(wǎng)址:http://chinadenli.net/article14/doogdde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站、建站公司、網(wǎng)頁設(shè)計公司、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)