當前位置:編程學習大全網 - 網站源碼 - 自己搭建mysql進行分表分庫還是用阿裏雲的好

自己搭建mysql進行分表分庫還是用阿裏雲的好

當壹張的數據達到幾百萬時,妳查詢壹次所花的時間會變多,如果有聯合查詢的話,我想有可能會死在那兒了。分表的目的就在於此,減小數據庫的負擔,縮短查詢時間。

根據個人經驗,MySQL執行壹個sql的過程如下:

1,接收到sql;2,把sql放到排隊隊列中 ;3,執行sql;4,返回執行結果。在這個執行過程中最花時間在什麽地方呢?第壹,是排隊等待的時間,第二,sql的執行時間。其實這二個是壹回事,等待的同時,肯定有sql在執行。所以我們要縮短sql的執行時間。

mysql中有壹種機制是表鎖定和行鎖定,為什麽要出現這種機制,是為了保證數據的完整 性,我舉個例子來說吧,如果有二個sql都要修改同壹張表的同壹條數據,這個時候怎麽辦呢,是不是二個sql都可以同時修改這條數據呢?很顯然mysql 對這種情況的處理是,壹種是表鎖定(myisam存儲引擎),壹個是行鎖定(innodb存儲引擎)。表鎖定表示妳們都不能對這張表進行操作,必須等我對 表操作完才行。行鎖定也壹樣,別的sql必須等我對這條數據操作完了,才能對這條數據進行操作。如果數據太多,壹次執行的時間太長,等待的時間就越長,這 也是我們為什麽要分表的原因。

  • 上一篇:求高手編壹個通達信副圖公式
  • 下一篇:完全理解jQuery源代碼,在前端方面算什麽水平
  • copyright 2024編程學習大全網