一、MySQL怎樣刪除數(shù)據(jù)表的前10行數(shù)據(jù)
方案一:delete from t limit 10; 直接刪除;
方案二:delete from t limit 10; 在for循環(huán)中執(zhí)行10次;
方案三:在1個連接中同時執(zhí)行 delete from t limit 10。要盡量避免長連接,方案一事務(wù)較長,占用鎖時間長,可能會導(dǎo)致其他客戶端連接等待資源時間過長。
甚至還有可能導(dǎo)致主從延遲。方案二,串行化執(zhí)行,把長事務(wù)劃分成短事務(wù),每次事務(wù)占用鎖的時間會較短,其他連接等待時間也會相應(yīng)縮短。將資源分片使用,每次執(zhí)行使用不同片段(減小了鎖粒度)的資源,可以提高并發(fā)性。方案三會人為造成鎖沖突。
延伸閱讀:
二、什么是數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫的應(yīng)用非常廣泛,舉個例子,我們平時在瀏覽器上搜索內(nèi)容,就要用到數(shù)據(jù)庫去檢索我們的關(guān)鍵字。以前我們可能會用數(shù)組、集合、文件等來存儲數(shù)據(jù),但是接下來我們就會面臨一個問題,當(dāng)存儲的數(shù)據(jù)或內(nèi)容過多的時候,我們?nèi)绾稳ゾ珳?zhǔn)的找到我們需要的東西,這時候數(shù)據(jù)庫管理系統(tǒng)就派上了用場。除此之外,數(shù)據(jù)庫管理系統(tǒng)還能永久的儲存我們的數(shù)據(jù)。
為了便于大家理解,這里先給大家講解幾個概念
DB數(shù)據(jù)庫(database):存儲數(shù)據(jù)的“倉庫”。它保存了一系列有組織的數(shù)據(jù)。
DBMS數(shù)據(jù)庫管理系統(tǒng)(Database Management System):數(shù)據(jù)庫是通過DBMS創(chuàng)建和操作的容器。
SQL,結(jié)構(gòu)化查詢語言(Structured Query Language)用一句話概括,SQL是一種特殊目的的編程語言,一種專門用來與數(shù)據(jù)庫通信的語言。在數(shù)據(jù)庫中,數(shù)據(jù)被結(jié)構(gòu)化并存儲在不同的表中,從而簡化了訪問,更新和操作數(shù)據(jù)的過程。該表由列和行組成。數(shù)據(jù)庫中的表可以在關(guān)系的幫助下進(jìn)行連接。要在數(shù)據(jù)庫中執(zhí)行與數(shù)據(jù)相關(guān)的任務(wù),可以使用SQL。SQL代表結(jié)構(gòu)化查詢語言,旨在在特定RDBMS內(nèi)創(chuàng)建,修改和管理數(shù)據(jù)庫中的數(shù)據(jù)。
SQL優(yōu)點:
1、不是某個特定數(shù)據(jù)庫供應(yīng)商專有的語言,幾乎所有DBMS(數(shù)據(jù)庫管理系統(tǒng))都支持SQL
2、簡單易學(xué)
3、雖然簡單,但實際上是一種強(qiáng)有力的語言,靈活使用其語言元素,可以進(jìn)行非常復(fù)雜和高級的數(shù)據(jù)庫操作。