用學(xué)院和及專業(yè)分組計(jì)數(shù)即可獲取相應(yīng)的人數(shù)。
創(chuàng)新互聯(lián)建站是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),微信小程序,10余年建站對(duì)成都衛(wèi)生間隔斷等多個(gè)方面,擁有豐富的網(wǎng)站營(yíng)銷經(jīng)驗(yàn)。
假設(shè)有學(xué)生結(jié)構(gòu)表如下:
students(sid,sname,college,speciality)
列出每個(gè)學(xué)院下每個(gè)專業(yè)的學(xué)生人數(shù)
select college,speciality,count(*)
as persons from students
group by college,speciality;
select dept.dept_name,count(users.user_id)
from tbl_user users
left join tbl_deptment dept
on users.deptid = dept.id
group by dept.id
這樣就可以聯(lián)查到所有部門名稱和人數(shù)了,表名和字段參照你自己的數(shù)據(jù)庫(kù)表
表統(tǒng)計(jì)信息是數(shù)據(jù)庫(kù)基于成本的優(yōu)化器最重要的參考信息;統(tǒng)計(jì)信息不準(zhǔn)確,優(yōu)化器可能給出不夠優(yōu)化的執(zhí)行計(jì)劃或者是錯(cuò)誤的執(zhí)行計(jì)劃。對(duì)統(tǒng)計(jì)信息的計(jì)算分為非持久化統(tǒng)計(jì)信息(實(shí)時(shí)計(jì)算)與持久化統(tǒng)計(jì)信息。
非持久化統(tǒng)計(jì)信息
統(tǒng)計(jì)信息沒(méi)有保存在磁盤上,而是頻繁的實(shí)時(shí)計(jì)算統(tǒng)計(jì)信息;
每次對(duì)表的訪問(wèn)都會(huì)重新計(jì)算其統(tǒng)計(jì)信息;
假設(shè)針對(duì)一張大表的頻繁查詢,那么每次都要重新計(jì)算統(tǒng)計(jì)信息,很耗費(fèi)資源。
持久化統(tǒng)計(jì)信息
把一張表在某一時(shí)刻的統(tǒng)計(jì)信息值保存在磁盤上;
避免每次查詢時(shí)重新計(jì)算;
如果表更新不是很頻繁,或者沒(méi)有達(dá)到 MySQL 必須重新計(jì)算統(tǒng)計(jì)信息的臨界值,可直接從磁盤上獲取;
即使 MySQL 服務(wù)重啟,也可以快速的獲取統(tǒng)計(jì)信息值;
統(tǒng)計(jì)信息的持久化可以針對(duì)全局設(shè)置也可以針對(duì)單表設(shè)置。
接下來(lái),詳細(xì)說(shuō) MySQL 統(tǒng)計(jì)信息如何計(jì)算,何時(shí)計(jì)算,效果評(píng)估等問(wèn)題。在 MySQL Server 層來(lái)控制是否自動(dòng)計(jì)算統(tǒng)計(jì)信息的分布,并且來(lái)決策是持久化還是非持久化。