資料庫方面的一些問題收集

2021-09-07 17:19:11 字數 806 閱讀 9894

1.資料庫行級鎖的應用,修改一條記錄時是否會加上行級鎖

2.mysql儲存引擎(4種)

myisam它不支援事務,也不支援外來鍵,尤其是訪問速度快,對事務完整性沒有要求或者以select、insert為主的應用基本都可以使用這個引擎來建立表。

每個myisam在磁碟上儲存成3個檔案,其中檔名和表名都相同,但是副檔名分別為:.frm(儲存表定義) ,yd(mydata,儲存資料) , myi(myindex,儲存索引),innodb,innodb儲存引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是對比myisam的儲存引擎,innodb寫的處理效率差一些並且會占用更多的磁碟空間以保留資料和索引。

1)自動增長列2)外來鍵約束

memory

memory使用存在記憶體中的內容來建立表。每個memory表實際對應乙個磁碟檔案,格式是.frm。memory型別的表訪問非常快,因為它到資料是放在記憶體中的,並且預設使用hash索引,但是一旦伺服器關閉,表中的資料就會丟失,但表還會繼續存在。

merge

merge儲存引擎是一組myisam表的組合,這些myisam表結構必須完全相同,merge表中並沒有資料,對merge型別的表可以進行查詢、更新、刪除的操作,這些操作實際上是對內部的myisam表進行操作。

3.mysql的悲觀鎖,樂觀鎖

4.分庫分表優點

分庫可以有效分散高併發量,分表雖然無法緩解併發量,但僅跨表仍然可以使用資料庫原生的acid事務。而一旦跨庫,涉及到事務的問題就會變得無比複雜。

資料庫的一些問題

什麼是事務?事務的acid特性 事務的併發控制可能產生哪些問題 為了解決併發控制,定義了4種事務隔離級別 mysql innodb預設實現可重複讀級別 如何解決高併發場景下的插入重複 什麼是樂觀鎖,什麼是悲觀鎖 innodb vs myisam常見的區別 為什麼需要索引?查詢結構進化史 什麼是b t...

C 環境方面一些問題。

關鍵點 vs中的pyhton環境必須和windows中的python環境一致。python檔案預設可以放在.exe同級目錄下,同時也可以放在cpp同級目錄下,但是後者需要在新增路徑。注意release模式和debug模式區別 指定python模組的位置 pyrun string import sys...

資料庫設計的一些問題

原則 如果列中要儲存的資料長度差不多一致的,則因該考慮用char 否則因該考慮用varchar。如果列中的最大資料長度小於50byte,則一般也考慮用char。當然如果這個列很少用,則基於節省空間和減少i o的考慮,還是可以選擇varchar 一般不宜定義大於50byte的char型別列。原則 de...