程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL中易被我們疏忽的細節

MySQL中易被我們疏忽的細節

編輯:MySQL綜合教程

MySQL中易被我們疏忽的細節。本站提示廣大學習愛好者:(MySQL中易被我們疏忽的細節)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL中易被我們疏忽的細節正文


MySQL作為數據庫的一年夜主力軍,隨處存在於我們各類體系中,信任年夜家都不生疏!然則,你曉得你能用不代表你曉得細節,那我們就來清點清點個中一些我們日常平凡不太留意的處所,一來為了風趣,二來為了不讓本身踩坑。

聲明:要想曉得細節,那就去浏覽源碼,我其實沒那本領,只能從單方面下去說一些事!

1、不辨別年夜小寫(字段名)
MySQL的查詢字段名不辨別年夜小寫,然則查詢的內容是要辨別年夜小寫的,所以能用下劃線定名的就不要用年夜小寫來辨別定名了,如:

SELECT uid,v_state FROM all_user WHERE username = 'sunyue';
SELECT uid,v_state FROM all_user WHERE USERNAME = 'sunyue';      

 //與上一個語句成果一樣,字段不辨別年夜小寫

SELECT uid,v_state FROM all_user WHERE USERname = 'SUNYUE';      

 //查不到信息,內容要辨別年夜小寫


2、隱約婚配([_]婚配隨意率性字符)
雖然說隱約婚配有點正則的意思,然則你其實不能像正則一樣自在地在數據庫裡停止婚配,做到盡可能簡化婚配就好!(附名詞:全文檢索sphinx)

SELECT uid,v_state FROM all_user WHERE USERNAME LIKE 'su_yue';  

 //下劃線[_]婚配隨意率性單個字符
SELECT uid,v_state FROM all_user WHERE USERNAME LIKE 'su%yue';  

 //%婚配隨意率性多個字符
SELECT uid,v_state FROM all_user WHERE USERNAME NOT LIKE 'su%';    

 /t like取不包括的信息


3、如何猜想一個功效
mysql作為一個關系型數據庫,面向的是通俗的開辟者,所以一切盡量做到人道化。所以,假如你不曉得某個功效是甚麼,那末,或許你可以猜得出來,由於,假如一個功效讓他人沒法猜出個年夜概,那末或許,他就是掉敗的設計。關於mysql,只需你英語程度略微好一點點,就可以很輕松的想到關系查詢應當怎樣寫。所以,猜想的才能,在於你英語的程度,哈哈哈!!!

4、replace into 語法
replace into 是一個很粗魯的拔出方法,不外在恰當的場景應用也是很有需要的,好比一些須要隨時籠罩式寫入的數據,就應當應用replace, 然則關於一些自增型的表,則應盡可能防止應用,由於如許會是對ID的一種糟蹋,或許沒需要應用replace.

5、insert into on dumplicate key update 語法
這個寫法絕對來講就溫順多了,然則速度確定是慢一點的,聽說只要mysql才有這個特征哦,假如你不想在拔出前往斷定一下能否已存在該數據,或許這是一個不錯的選擇!

6、explain 語法
這是一個檢討查詢後果的有用方法,其實我自己很少應用這功效,然則,假如一個開辟者常常應用這功效,那末,我信任,他自己確定是個牛掰的人。經由過程這個敕令,可以斷定出你寫的語句能否是優化的,假如不是,偏向是甚麼。應當說,你用很多了,本身天然就曉得成果了,照樣多用用吧!

7、索引長度
myisam的索引長度最年夜為1000字節,innodb的索引長度最年夜為767字節!留意應用哦,超越規模,則超越預感!

8、庫的復制
1)直接數據mysql自帶的數據庫備份恢復敕令;
2)直接拷貝文件到目標辦事器(留意過程占用成績);
3)應用對象停止同步;小我感到第二種方法最簡略!

9、分區
關於一些能夠會很年夜的表,須要停止分區操作,假如有這方面的需求,須要在最開端就添加至多一個分區,不然前期將沒法操作分區。(至多我是這麼以為的)

10、慢查詢
慢查詢,這是一個對機能的監控成績,假如辦事器表示太差,排盤問題時,有這類慢查詢的記載,排查起來將事半功倍!

11、binlog
binlog,普通都邑用到這功效,關於數據恢復,數據操作記載等等有很需要功用!

12、其他應當要曉得的視圖、存儲進程、事宜...
視圖、事宜等,這些都是一些高等運用,我發明許多項目基本不存在這類運用,到少我碰到的項目都簡直不觸及或許觸及了也是他人隨意做做!然則高等功效照樣要懂得的,不論有無用!

13、可以使用的對象
phpMyAdmin, 作為長途平安操作數據庫的方法,照樣很不錯的,然則作為當地操作的話,其實有點愚笨;sqlyog, 界面雖呆板,然則照樣比擬便利的;navicat, 比擬專業化,不外你得順應他的各類表示情勢;敕令行,我想應當不會有人直接應用敕令行停止操作吧,不外,敕令行才是基本呢!

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。

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