排序
MySQL高級十五——表的分區(qū)
1、為什么要采用分區(qū)?當數(shù)據(jù)量過大的時候(通常是指百萬級或千萬級數(shù)據(jù)的時候),這個時候需要將一張表的數(shù)據(jù)劃分幾張表存儲。一些查詢可以得到極大的優(yōu)化,這主要是借于滿足一個給定where語句...
MySQL高級十四——表的優(yōu)化
一、優(yōu)化1、定期分析表: analyze?table?woitems; +---------------+---------+----------+----------+?? |?Table?????????|?Op??????|?Msg_type?|?Msg_text?|?? +-...
MySQL高級十三——通過索引優(yōu)化SQL
一、概述二叉樹——>索引文件:效率log2n檢索10次:2的10次方。1024條記錄。索引帶來的開銷查看數(shù)據(jù)的文件(安裝目錄下的data目錄),會發(fā)現(xiàn)三個文件,.frm:表示表的結(jié)構(gòu).myd:表示數(shù)據(jù).myi...
MySQL高級十二——索引
索引是快速搜索的關(guān)鍵。mysql索引的建立對于mysql的高效運行是很重要的。下面介紹幾種常見的mysql索引類型在數(shù)據(jù)庫表中,對字段建立索引可以大大提高查詢速度。假如我們創(chuàng)建了一個 mytable表:...
MySQL高級十一——慢查詢
mysql記錄下查詢超過指定時間的語句,我們將超過指定時間的sql語句查詢稱為慢查詢。1、查看時間限制 show?variables?like?'%long%'; 就會看到: +-----------------------------------------...
MySQL高級十——事務(wù)的應(yīng)用
一、什么是事務(wù)為什么要使用事務(wù)這個技術(shù)?現(xiàn)在很多軟件都是多用戶,多課程,多線程的,對于同一個表可能同時有很多人在用,為保持數(shù)據(jù)的一致性,所以提出了事務(wù)的概念。1、查看數(shù)據(jù)庫下面是否...
MySQL高級九——MyISAM表鎖(共享讀鎖)
鎖是計算機協(xié)調(diào)多個進程或線程并發(fā)訪問某一資源的機制。在數(shù)據(jù)庫中,數(shù)據(jù)也是一種供許多用戶共享的資源。如何保證數(shù)據(jù)訪問的一致性、有效性是所有數(shù)據(jù)庫的一個問題,鎖沖突也是影響數(shù)據(jù)庫并發(fā)訪...
MySQL高級八——觸發(fā)器的使用
觸發(fā)器是一種特殊的存儲過程,它在插入,刪除或者修改特定表中的數(shù)據(jù)時觸發(fā)執(zhí)行,它比數(shù)據(jù)庫本身標準的功能有更精細和更復(fù)雜的數(shù)據(jù)控制能力。它具有這樣的特征:監(jiān)視地點:一般就是表名監(jiān)視事件...
MySQL高級七——視圖的使用
1、視圖的使用條件如果某個查詢結(jié)果出現(xiàn)的非常頻繁,就是要經(jīng)常拿這個查詢結(jié)果來做子查詢,使用視圖會更加方便。2、使用視圖的好處a、簡化查詢語句b、可以進行權(quán)限控制把表的權(quán)限封閉,但是開放...
MySQL高級六——函數(shù)創(chuàng)建和使用
1、查看是否能創(chuàng)建函數(shù) show?variables?like?'%fun%'; 如果為OFF,表示不能創(chuàng)建函數(shù)2、修改數(shù)據(jù)庫能創(chuàng)建函數(shù) set?global?log_bin_trust_function_creators?=?1; 這樣就修改為ON了,就能...
MySQL高級五——存儲過程的管理
1、查看數(shù)據(jù)庫的存儲過程如: show?procedure?status?where?db='caiwu'; 2、查看當前數(shù)據(jù)庫下面的存儲過程的列表如: SELECT?specific_name?from?mysql.proc; 3、查看存儲過程的內(nèi)容如:...