事務的特性:(面試)
a原子性:說明事務是不可分割的。要麼全部成功,要麼全部不成功
c一致性:事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態
i隔離性:乙個執行緒的事務不能被其他執行緒事務所打擾。
d永續性:永續性是指乙個事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來即使資料庫發生故障也不應該對其有任何影響
事務的隔離級別
不考慮隔離級別,會出現以下不正確的結果:
1、髒讀:指乙個事務讀到了另外乙個未提交事務的資料。
2、不可重複讀:指乙個事務前後讀取到的同一條記錄的結果不一樣。
3、虛讀(幻讀):指乙個事務前後讀取到的記錄條數不一樣。
事務的隔離級別:
read uncommitted:髒讀、不可重複讀、虛讀都有可能發生。
read committed:避免髒讀,不可重複讀、虛讀都有可能發生。
repeatable read:避免髒讀、不可重複讀,虛讀有可能發生。
serializable:避免髒讀、不可重複讀、虛讀。
mysql:事務預設是自動管理的。每一條語句就是乙個單獨的事務。
start transaction:開啟事務。後面的語句(直到rollback或者commit之前)的語句處於同乙個事務中。
select @@tx_isolation;檢視當前的隔離級別
set transaction isolation level read uncommitted;更改隔離級別
//做實驗用的
start transaction;
update account set money=money+100 where name='aaa';
rollback;/commit;
看待資料的態度:查詢銀行程式accountdao時看自己的態度
更新多,查詢少。悲觀鎖。。(加for update 鎖定程式、銀行。防止更新丟失鎖住更新記錄
更新少,查詢多。樂觀鎖。。(version 更新等待)
where+索引列是行級鎖,加其他就是表級鎖
mysql binlog格式: 預設statment格式
row 行級:記錄每行的變化 保證資料的絕對一致行,不管執行了什麼sql 只要執行侯的結果 占用較大空間
statement: 記錄每一次執行寫操作的語句,可能產生不一致性,比如update tt set create_date=now() 占用較小空間
mysql相關總結
3.limit用法彙總 公式 當前頁curpage,每頁多少資料pagenum 查詢第二頁的資料 1 limit 10,10 查詢第三頁的資料 1 limit 20,10 limit n,表示查詢的展示的行數 1 limit 10 總記錄數 select count 1 總頁數 totalpage ...
MySql相關語句總結
cmd命令列進入資料庫mysql u root p 敲回車 輸入設定的密碼建立資料庫create database mydb mydb是需要建立的資料庫的名字 檢視建立資料庫的語句show create database mydb 改變當前的資料庫use mydb 檢視所有的資料庫show data...
MySQL相關知識學習 MySQL總結
1 獲得當前日期 時間 date time 函式 now mysql select now 2017 05 17 17 16 33 2 獲得當前日期 時間 date time 函式 sysdate sysdate 日期時間函式跟 now 類似,不同之處在於 now 在執行開始時值就得到了,sysda...