2023年最新的查看更多內(nèi)容13篇_第1頁(yè)
2023年最新的查看更多內(nèi)容13篇_第2頁(yè)
2023年最新的查看更多內(nèi)容13篇_第3頁(yè)
2023年最新的查看更多內(nèi)容13篇_第4頁(yè)
2023年最新的查看更多內(nèi)容13篇_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第 PAGE19 頁(yè) 共 NUMPAGES19 頁(yè)2023年最新的查看更多內(nèi)容.13篇 Collation 列以什么方式存儲(chǔ)在索引中。在MySQL中,有值A(chǔ)(升序)或NULL(無(wú)分類)。 Cardinality 索引中唯一值的數(shù)目的估計(jì)值。通過(guò)運(yùn)行ANALYZE TABLE或myisamchk -a可以更新?;鶖?shù)根據(jù)被存儲(chǔ)為整數(shù)的統(tǒng)計(jì)數(shù)據(jù)來(lái)計(jì)數(shù),所以即使對(duì)于小型表,該值也沒(méi)有必要是精確的?;鶖?shù)越大,當(dāng)進(jìn)行聯(lián)合時(shí),MySQL使用該索引的機(jī) 會(huì)就越大。 Sub_part 如果列只是被部分地編入索引,則為被編入索引的字符的數(shù)目。如果整列被編入索引,則為NULL。 Packed 指示關(guān)鍵字如何被壓縮。

2、如果沒(méi)有被壓縮,則為NULL。 Null 如果列含有NULL,則含有YES。如果沒(méi)有,則該列含有NO。 Index_type 用過(guò)的索引方法(BTREE, FULLTEXT, HASH, RTREE)。 Comment 這是以讀為主的線上庫(kù) rootread02:28:07show status like Handler_read%;+-+| Variable_name | Value |+-+| Handler_read_first | 0 | Handler_read_key | 0 | Handler_read_next | 0 | Handler_read_prev | 0 | Han

3、dler_read_rnd | 0 | Handler_read_rnd_next | 61 |+-+6 rows in set (0.41 sec) Handler_read_first 代表讀取索引頭的次數(shù),如果這個(gè)值很高,說(shuō)明全索引掃描很多。 Handler_read_key代表一個(gè)索引被使用的次數(shù),如果我們新增加一個(gè)索引,可以查看Handler_read_key是否有增加,如果有增加,說(shuō)明sql用到索引。 Handler_read_next 代表讀取索引的下列,一般發(fā)生range scan。 Handler_read_prev 代表讀取索引的上列,一般發(fā)生在ORDER BY DESC。

4、 Handler_read_rnd 代表在固定位置讀取行,如果這個(gè)值很高,說(shuō)明對(duì)大量結(jié)果集進(jìn)行了排序、進(jìn)行了全表掃描、關(guān)聯(lián)查詢沒(méi)有用到合適的KEY。 Handler_read_rnd_next 代表進(jìn)行了很多表掃描,查詢性能低下。 寫(xiě)在前面:索引對(duì)查詢的速度有著至關(guān)重要的影響,理解索引也是進(jìn)行數(shù)據(jù)庫(kù)性能調(diào)優(yōu)的起點(diǎn)??紤]如下情況,假設(shè)數(shù)據(jù)庫(kù)中一個(gè)表有106條記錄,DBMS的頁(yè)面大小為4K,并存儲(chǔ)100條記錄。如果沒(méi)有索引,查詢將對(duì)整個(gè)表進(jìn)行掃描,最壞的情況下,如果所有數(shù)據(jù)頁(yè)都不在內(nèi)存,需要讀取104個(gè)頁(yè)面,如果這104個(gè)頁(yè)面在磁盤(pán)上隨機(jī)分布,需要進(jìn)行104次I/O,假設(shè)磁盤(pán)每次I/O時(shí)間為10m

5、s(忽略數(shù)據(jù)傳輸時(shí)間),則總共需要100s(但實(shí)際上要好很多很多)。如果對(duì)之建立B-Tree索引,則只需要進(jìn)行l(wèi)og100(106)=3次頁(yè)面讀取,最壞情況下耗時(shí)30ms。這就是索引帶來(lái)的效果,很多時(shí)候,當(dāng)你的應(yīng)用程序進(jìn)行SQL查詢速度很慢時(shí),應(yīng)該想想是否可以建索引。進(jìn)入正題: 第二章、索引與優(yōu)化 1、選擇索引的數(shù)據(jù)類型 MySQL支持很多數(shù)據(jù)類型,選擇合適的數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)對(duì)性能有很大的影響。通常來(lái)說(shuō),可以遵循以下一些指導(dǎo)原則: (1)越小的數(shù)據(jù)類型通常更好:越小的數(shù)據(jù)類型通常在磁盤(pán)、內(nèi)存和CPU緩存中都需要更少的空間,處理起來(lái)更快。(2)簡(jiǎn)單的數(shù)據(jù)類型更好:整型數(shù)據(jù)比起字符,處理開(kāi)銷(xiāo)更小,

6、因?yàn)樽址谋容^更復(fù)雜。在MySQL中,應(yīng)該用內(nèi)置的日期和時(shí)間數(shù)據(jù)類型,而不是用字符串來(lái)存儲(chǔ)時(shí)間;以及用整型數(shù)據(jù)類型存儲(chǔ)IP地址。(3)盡量避免NULL:應(yīng)該指定列為NOT NULL,除非你想存儲(chǔ)NULL。在MySQL中,含有空值的列很難進(jìn)行查詢優(yōu)化,因?yàn)樗鼈兪沟盟饕?、索引的統(tǒng)計(jì)信息以及比較運(yùn)算更加復(fù)雜。你應(yīng)該用0、一個(gè)特殊的值或者一個(gè)空串代替空值。1.1、選擇標(biāo)識(shí)符選擇合適的標(biāo)識(shí)符是非常重要的。選擇時(shí)不僅應(yīng)該考慮存儲(chǔ)類型,而且應(yīng)該考慮MySQL是怎樣進(jìn)行運(yùn)算和比較的。一旦選定數(shù)據(jù)類型,應(yīng)該保證所有相關(guān)的表都使用相同的數(shù)據(jù)類型。(1) 整型:通常是作為標(biāo)識(shí)符的最好選擇,因?yàn)榭梢愿斓奶幚?,而?/p>

7、可以設(shè)置為AUTO_INCREMENT。 (2) 字符串:盡量避免使用字符串作為標(biāo)識(shí)符,它們消耗更好的空間,處理起來(lái)也較慢。而且,通常來(lái)說(shuō),字符串都是隨機(jī)的,所以它們?cè)谒饕械奈恢靡彩请S機(jī)的,這會(huì)導(dǎo)致頁(yè)面分裂、隨機(jī)訪問(wèn)磁盤(pán),聚簇索引分裂(對(duì)于使用聚簇索引的存儲(chǔ)引擎)。 2、索引入門(mén)對(duì)于任何DBMS,索引都是進(jìn)行優(yōu)化的最主要的因素。對(duì)于少量的數(shù)據(jù),沒(méi)有合適的索引影響不是很大,但是,當(dāng)隨著數(shù)據(jù)量的增加,性能會(huì)急劇下降。如果對(duì)多列進(jìn)行索引(組合索引),列的順序非常重要,MySQL僅能對(duì)索引最左邊的前綴進(jìn)行有效的查找。例如:假設(shè)存在組合索引it1c1c2(c1,c2),查詢語(yǔ)句select * fro

8、m t1 where c1=1 and c2=2能夠使用該索引。查詢語(yǔ)句select * from t1 where c1=1也能夠使用該索引。但是,查詢語(yǔ)句select * from t1 where c2=2不能夠使用該索引,因?yàn)闆](méi)有組合索引的引導(dǎo)列,即,要想使用c2列進(jìn)行查找,必需出現(xiàn)c1等于某值。2.1、索引的類型索引是在存儲(chǔ)引擎中實(shí)現(xiàn)的,而不是在服務(wù)器層中實(shí)現(xiàn)的。所以,每種存儲(chǔ)引擎的索引都不一定完全相同,并不是所有的存儲(chǔ)引擎都支持所有的索引類型。2.1.1、B-Tree索引假設(shè)有如下一個(gè)表: 其索引包含表中每一行的last_name、first_name和dob列。其結(jié)構(gòu)大致如下:

9、索引存儲(chǔ)的值按索引列中的順序排列??梢岳肂-Tree索引進(jìn)行全關(guān)鍵字、關(guān)鍵字范圍和關(guān)鍵字前綴查詢,當(dāng)然,如果想使用索引,你必須保證按索引的最左邊前綴(leftmost prefix of the index)來(lái)進(jìn)行查詢。(1)匹配全值(Match the full value):對(duì)索引中的所有列都指定具體的值。例如,上圖中索引可以幫助你查找出生于1960-01-01的Cuba Allen。(2)匹配最左前綴(Match a leftmost prefix):你可以利用索引查找last name為Allen的人,僅僅使用索引中的第1列。(3)匹配列前綴(Match a column prefi

10、x):例如,你可以利用索引查找last name以J開(kāi)始的人,這僅僅使用索引中的第1列。(4)匹配值的范圍查詢(Match a range of values):可以利用索引查找last name在Allen和Barrymore之間的人,僅僅使用索引中第1列。(5)匹配部分精確而其它部分進(jìn)行范圍匹配(Match one part exactly and match a range on another part):可以利用索引查找last name為Allen,而first name以字母K開(kāi)始的人。(6)僅對(duì)索引進(jìn)行查詢(Index-only queries):如果查詢的列都位于索引中,則不

11、需要讀取元組的值。由于B-樹(shù)中的節(jié)點(diǎn)都是順序存儲(chǔ)的,所以可以利用索引進(jìn)行查找(找某些值),也可以對(duì)查詢結(jié)果進(jìn)行ORDER BY。當(dāng)然,使用B-tree索引有以下一些限制:(1) 查詢必須從索引的最左邊的列開(kāi)始。關(guān)于這點(diǎn)已經(jīng)提了很多遍了。例如你不能利用索引查找在某一天出生的人。(2) 不能跳過(guò)某一索引列。例如,你不能利用索引查找last name為Smith且出生于某一天的人。(3) 存儲(chǔ)引擎不能使用索引中范圍條件右邊的列。例如,如果你的查詢語(yǔ)句為WHERE last_name=Smith AND first_name LIKE J% AND dob=1976-12-23,則該查詢只會(huì)使用索引中

12、的前兩列,因?yàn)長(zhǎng)IKE是范圍查詢。 2.1.2、Hash索引MySQL中,只有Memory存儲(chǔ)引擎顯示支持hash索引,是Memory表的默認(rèn)索引類型,盡管Memory表也可以使用B-Tree索引。Memory存儲(chǔ)引擎支持非唯一hash索引,這在數(shù)據(jù)庫(kù)領(lǐng)域是罕見(jiàn)的,如果多個(gè)值有相同的hash code,索引把它們的行指針用鏈表保存到同一個(gè)hash表項(xiàng)中。假設(shè)創(chuàng)建如下一個(gè)表:CREATE TABLE testhash ( fname VARCHAR(50) NOT NULL, lname VARCHAR(50) NOT NULL, KEY USING HASH(fname) ENGINE=MEM

13、ORY;包含的數(shù)據(jù)如下: 假設(shè)索引使用hash函數(shù)f( ),如下: 此時(shí),索引的結(jié)構(gòu)大概如下: Slots是有序的,但是記錄不是有序的。當(dāng)你執(zhí)行mysql SELECT lname FROM testhash WHERE fname=Peter;MySQL會(huì)計(jì)算Peter的hash值,然后通過(guò)它來(lái)查詢索引的行指針。因?yàn)閒(Peter) = 8784,MySQL會(huì)在索引中查找8784,得到指向記錄3的指針。因?yàn)樗饕约簝H僅存儲(chǔ)很短的值,所以,索引非常緊湊。Hash值不取決于列的數(shù)據(jù)類型,一個(gè)TINYINT列的索引與一個(gè)長(zhǎng)字符串列的索引一樣大。Hash索引有以下一些限制:(1)由于索引僅包含has

14、h code和記錄指針,所以,MySQL不能通過(guò)使用索引避免讀取記錄。但是訪問(wèn)內(nèi)存中的記錄是非常迅速的,不會(huì)對(duì)性造成太大的影響。(2)不能使用hash索引排序。(3)Hash索引不支持鍵的部分匹配,因?yàn)槭峭ㄟ^(guò)整個(gè)索引值來(lái)計(jì)算hash值的。(4)Hash索引只支持等值比較,例如使用=,IN( )和。對(duì)于WHERE price100并不能加速查詢。2.1.3、空間(R-Tree)索引MyISAM支持空間索引,主要用于地理空間數(shù)據(jù)類型,例如GEOMETRY。2.1.4、全文(Full-text)索引全文索引是MyISAM的一個(gè)特殊索引類型,主要用于全文檢索。 3、高性能的索引策略3.1、聚簇索引(C

15、lustered Indexes)聚簇索引保證關(guān)鍵字的值相近的元組存儲(chǔ)的物理位置也相同(所以字符串類型不宜建立聚簇索引,特別是隨機(jī)字符串,會(huì)使得系統(tǒng)進(jìn)行大量的移動(dòng)操作),且一個(gè)表只能有一個(gè)聚簇索引。因?yàn)橛纱鎯?chǔ)引擎實(shí)現(xiàn)索引,所以,并不是所有的引擎都支持聚簇索引。目前,只有solidDB和InnoDB支持。聚簇索引的結(jié)構(gòu)大致如下: 注:葉子頁(yè)面包含完整的元組,而內(nèi)節(jié)點(diǎn)頁(yè)面僅包含索引的列(索引的列為整型)。一些DBMS允許用戶指定聚簇索引,但是MySQL的存儲(chǔ)引擎到目前為止都不支持。InnoDB對(duì)主鍵建立聚簇索引。如果你不指定主鍵,InnoDB會(huì)用一個(gè)具有唯一且非空值的索引來(lái)代替。如果不存在這樣的索

16、引,InnoDB會(huì)定義一個(gè)隱藏的主鍵,然后對(duì)其建立聚簇索引。一般來(lái)說(shuō),DBMS都會(huì)以聚簇索引的形式來(lái)存儲(chǔ)實(shí)際的數(shù)據(jù),它是其它二級(jí)索引的基礎(chǔ)。 3.1.1、InnoDB和MyISAM的數(shù)據(jù)布局的比較為了更加理解聚簇索引和非聚簇索引,或者primary索引和second索引(MyISAM不支持聚簇索引),來(lái)比較一下InnoDB和MyISAM的數(shù)據(jù)布局,對(duì)于如下表: 假設(shè)主鍵的值位于110,000之間,且按隨機(jī)順序插入,然后用OPTIMIZE TABLE進(jìn)行優(yōu)化。col2隨機(jī)賦予1100之間的值,所以會(huì)存在許多重復(fù)的值。(1) MyISAM的數(shù)據(jù)布局其布局十分簡(jiǎn)單,MyISAM按照插入的順序在磁盤(pán)上

17、存儲(chǔ)數(shù)據(jù),如下: 注:左邊為行號(hào)(row number),從0開(kāi)始。因?yàn)樵M的大小固定,所以MyISAM可以很容易的從表的開(kāi)始位置找到某一字節(jié)的位置。據(jù)些建立的primary key的索引結(jié)構(gòu)大致如下: 注:MyISAM不支持聚簇索引,索引中每一個(gè)葉子節(jié)點(diǎn)僅僅包含行號(hào)(row number),且葉子節(jié)點(diǎn)按照col1的順序存儲(chǔ)。來(lái)看看col2的索引結(jié)構(gòu): 實(shí)際上,在MyISAM中,primary key和其它索引沒(méi)有什么區(qū)別。Primary key僅僅只是一個(gè)叫做PRIMARY的唯一,非空的索引而已。(2) InnoDB的數(shù)據(jù)布局InnoDB按聚簇索引的形式存儲(chǔ)數(shù)據(jù),所以它的數(shù)據(jù)布局有著很大的不

18、同。它存儲(chǔ)表的結(jié)構(gòu)大致如下: 注:聚簇索引中的每個(gè)葉子節(jié)點(diǎn)包含primary key的值,事務(wù)ID和回滾指針(rollback pointer)用于事務(wù)和MVCC,和余下的列(如col2)。相對(duì)于MyISAM,二級(jí)索引與聚簇索引有很大的不同。InnoDB的二級(jí)索引的葉子包含primary key的值,而不是行指針(row pointers),這減小了移動(dòng)數(shù)據(jù)或者數(shù)據(jù)頁(yè)面分裂時(shí)維護(hù)二級(jí)索引的開(kāi)銷(xiāo),因?yàn)镮nnoDB不需要更新索引的行指針。其結(jié)構(gòu)大致如下: 聚簇索引和非聚簇索引表的對(duì)比: 3.1.2、按primary key的順序插入行(InnoDB) 如果你用InnoDB,而且不需要特殊的聚簇索引

19、,一個(gè)好的做法就是使用代理主鍵(surrogate key)獨(dú)立于你的應(yīng)用中的數(shù)據(jù)。最簡(jiǎn)單的做法就是使用一個(gè)AUTO_INCREMENT的列,這會(huì)保證記錄按照順序插入,而且能提高使用primary key進(jìn)行連接的查詢的性能。應(yīng)該盡量避免隨機(jī)的聚簇主鍵,例如,字符串主鍵就是一個(gè)不好的選擇,它使得插入操作變得隨機(jī)。 3.2、覆蓋索引(Covering Indexes)如果索引包含滿足查詢的所有數(shù)據(jù),就稱為覆蓋索引。覆蓋索引是一種非常強(qiáng)大的工具,能大大提高查詢性能。只需要讀取索引而不用讀取數(shù)據(jù)有以下一些優(yōu)點(diǎn):(1)索引項(xiàng)通常比記錄要小,所以MySQL訪問(wèn)更少的數(shù)據(jù);(2)索引都按值的大小順序存儲(chǔ),

20、相對(duì)于隨機(jī)訪問(wèn)記錄,需要更少的I/O;(3)大多數(shù)據(jù)引擎能更好的緩存索引。比如MyISAM只緩存索引。(4)覆蓋索引對(duì)于InnoDB表尤其有用,因?yàn)镮nnoDB使用聚集索引組織數(shù)據(jù),如果二級(jí)索引中包含查詢所需的數(shù)據(jù),就不再需要在聚集索引中查找了。覆蓋索引不能是任何索引,只有B-TREE索引存儲(chǔ)相應(yīng)的值。而且不同的存儲(chǔ)引擎實(shí)現(xiàn)覆蓋索引的方式都不同,并不是所有存儲(chǔ)引擎都支持覆蓋索引(Memory和Falcon就不支持)。對(duì)于索引覆蓋查詢(index-covered query),使用EXPLAIN時(shí),可以在Extra一列中看到“Using index”。例如,在sakila的inventory表中

21、,有一個(gè)組合索引(store_id,film_id),對(duì)于只需要訪問(wèn)這兩列的查詢,MySQL就可以使用索引,如下: 在大多數(shù)引擎中,只有當(dāng)查詢語(yǔ)句所訪問(wèn)的列是索引的一部分時(shí),索引才會(huì)覆蓋。但是,InnoDB不限于此,InnoDB的二級(jí)索引在葉子節(jié)點(diǎn)中存儲(chǔ)了primary key的值。因此,sakila.actor表使用InnoDB,而且對(duì)于是last_name上有索引,所以,索引能覆蓋那些訪問(wèn)actor_id的查詢,如: 3.3、利用索引進(jìn)行排序MySQL中,有兩種方式生成有序結(jié)果集:一是使用filesort,二是按索引順序掃描。利用索引進(jìn)行排序操作是非??斓模铱梢岳猛凰饕瑫r(shí)進(jìn)行查找

22、和排序操作。當(dāng)索引的順序與ORDER BY中的列順序相同且所有的列是同一方向(全部升序或者全部降序)時(shí),可以使用索引來(lái)排序。如果查詢是連接多個(gè)表,僅當(dāng)ORDER BY中的所有列都是第一個(gè)表的列時(shí)才會(huì)使用索引。其它情況都會(huì)使用filesort。 當(dāng)MySQL不能使用索引進(jìn)行排序時(shí),就會(huì)利用自己的排序算法(快速排序算法)在內(nèi)存(sort buffer)中對(duì)數(shù)據(jù)進(jìn)行排序,如果內(nèi)存裝載不下,它會(huì)將磁盤(pán)上的數(shù)據(jù)進(jìn)行分塊,再對(duì)各個(gè)數(shù)據(jù)塊進(jìn)行排序,然后將各個(gè)塊合并成有序的結(jié)果集(實(shí)際上就是外排序)。對(duì)于filesort,MySQL有兩種排序算法。(1)兩遍掃描算法(Two passes)實(shí)現(xiàn)方式是先將須要排

23、序的字段和可以直接定位到相關(guān)行數(shù)據(jù)的指針信息取出,然后在設(shè)定的內(nèi)存(通過(guò)參數(shù)sort_buffer_size設(shè)定)中進(jìn)行排序,完成排序之后再次通過(guò)行指針信息取出所需的Columns。注:該算法是4.1之前采用的算法,它需要兩次訪問(wèn)數(shù)據(jù),尤其是第二次讀取操作會(huì)導(dǎo)致大量的隨機(jī)I/O操作。另一方面,內(nèi)存開(kāi)銷(xiāo)較小。(3) 一次掃描算法(single pass)該算法一次性將所需的Columns全部取出,在內(nèi)存中排序后直接將結(jié)果輸出。注:從 MySQL 4.1 版本開(kāi)始使用該算法。它減少了I/O的次數(shù),效率較高,但是內(nèi)存開(kāi)銷(xiāo)也較大。如果我們將并不需要的Columns也取出來(lái),就會(huì)極大地浪費(fèi)排序過(guò)程所需要

24、的內(nèi)存。在 MySQL 4.1 之后的版本中,可以通過(guò)設(shè)置 max_length_for_sort_data 參數(shù)來(lái)控制 MySQL 選擇第一種排序算法還是第二種。當(dāng)取出的所有大字段總大小大于 max_length_for_sort_data 的設(shè)置時(shí),MySQL 就會(huì)選擇使用第一種排序算法,反之,則會(huì)選擇第二種。為了盡可能地提高排序性能,我們自然更希望使用第二種排序算法,所以在 Query 中僅僅取出需要的 Columns 是非常有必要的。當(dāng)對(duì)連接操作進(jìn)行排序時(shí),如果ORDER BY僅僅引用第一個(gè)表的列,MySQL對(duì)該表進(jìn)行filesort操作,然后進(jìn)行連接處理,此時(shí),EXPLAIN輸出“U

25、sing filesort”;否則,MySQL必須將查詢的結(jié)果集生成一個(gè)臨時(shí)表,在連接完成之后進(jìn)行filesort操作,此時(shí),EXPLAIN輸出“Using temporary;Using filesort”。 3.4、索引與加鎖索引對(duì)于InnoDB非常重要,因?yàn)樗梢宰尣樵冩i更少的元組。這點(diǎn)十分重要,因?yàn)镸ySQL 5.0中,InnoDB直到事務(wù)提交時(shí)才會(huì)解鎖。有兩個(gè)方面的原因:首先,即使InnoDB行級(jí)鎖的開(kāi)銷(xiāo)非常高效,內(nèi)存開(kāi)銷(xiāo)也較小,但不管怎么樣,還是存在開(kāi)銷(xiāo)。其次,對(duì)不需要的元組的加鎖,會(huì)增加鎖的開(kāi)銷(xiāo),降低并發(fā)性。InnoDB僅對(duì)需要訪問(wèn)的元組加鎖,而索引能夠減少I(mǎi)nnoDB訪問(wèn)的元組

26、數(shù)。但是,只有在存儲(chǔ)引擎層過(guò)濾掉那些不需要的數(shù)據(jù)才能達(dá)到這種目的。一旦索引不允許InnoDB那樣做(即達(dá)不到過(guò)濾的目的),MySQL服務(wù)器只能對(duì)InnoDB返回的數(shù)據(jù)進(jìn)行WHERE操作,此時(shí),已經(jīng)無(wú)法避免對(duì)那些元組加鎖了:InnoDB已經(jīng)鎖住那些元組,服務(wù)器無(wú)法解鎖了。來(lái)看個(gè)例子: 該查詢僅僅返回23的數(shù)據(jù),實(shí)際已經(jīng)對(duì)13的數(shù)據(jù)加上排它鎖了。InnoDB鎖住元組1是因?yàn)镸ySQL的查詢計(jì)劃僅使用索引進(jìn)行范圍查詢(而沒(méi)有進(jìn)行過(guò)濾操作,WHERE中第二個(gè)條件已經(jīng)無(wú)法使用索引了): 表明存儲(chǔ)引擎從索引的起始處開(kāi)始,獲取所有的行,直到actor_id 查看更多內(nèi)容.(2) 如何查看Word被修改了哪些

27、內(nèi)容 如何知道word文檔,被修改了哪些內(nèi)容、哪些地方被修改了,如何能查看到 比如,你有文檔1.doc,然后,你將其發(fā)送給別人,最后,再由別人傳回給你,而此時(shí),你想知道,別人是否修改了你的文檔,如果修改了文檔,又修改了哪些地方 尤其是文檔內(nèi)容比較多的情況下,如何快速的查看到word文檔被修改了哪些地方 首先,1.doc是你原來(lái)的文檔,2.doc是別人查看或修改后傳給你的文檔。下面我們做個(gè)簡(jiǎn)單的比較,比如: 原來(lái)的文檔內(nèi)容如下: 別人查看或修改后的文檔如下: 現(xiàn)在,我們就通過(guò)1和2文檔的比較得出結(jié)果。 首先打開(kāi)你原來(lái)的文檔1.doc,然后,執(zhí)行如下圖的菜單操作:“工具”“比較并合并文檔”,如下圖

28、 彈出如下圖對(duì)話框。 辦公軟件教程 上圖中,找到2.doc文檔,然后點(diǎn)擊“合并”按鈕打開(kāi)即可。 此時(shí),我們就可以看到,比較過(guò)的文檔,會(huì)自動(dòng)出現(xiàn)提示,如上圖的“刪除的內(nèi)容:電腦網(wǎng)站”這幾個(gè)提示文字。這就是兩個(gè)文檔之間的不同之處,自然,這就是被修改過(guò)的修改內(nèi)容及被修改的地方。 查看更多內(nèi)容.(3) 怎樣查看電腦的物理地址(用命令查看和網(wǎng)卡查看) 可通過(guò)這種辦法確定自己的IP設(shè)置的正確性和獲得本機(jī)網(wǎng)卡的物理地址(MAC地址),方法如下: 1、打開(kāi)“開(kāi)始”“運(yùn)行”在彈出窗口中輸入 cmd “確定” 2、在DOS窗口下輸入 ipconfig/all 顯示如圖,橢圓形區(qū)域,也就是Physical Addr

29、ess是本機(jī)的網(wǎng)卡的物理地址(MAC地址),矩形區(qū)域?yàn)楸緳C(jī)的IP設(shè)置信息。 第二種方法: 用鼠標(biāo)右鍵點(diǎn)擊“網(wǎng)上鄰居”,選擇“屬性”,會(huì)出現(xiàn)下面的窗口。 再雙擊Internet協(xié)議(TCP/IP),在出現(xiàn)的對(duì)話框中就可以看到本機(jī)的IP地址。這種方法也是最常用的一個(gè)方法。 查看物理地址,把鼠標(biāo)指針?lè)诺饺缦聢D所示位置,就會(huì)出現(xiàn)網(wǎng)卡物理地址(MAC地址)的對(duì)話框。 查看物理地址,把鼠標(biāo)指針?lè)诺饺缦聢D所示位置,就會(huì)出現(xiàn)網(wǎng)卡物理地址(MAC地址)的對(duì)話框。 1漢語(yǔ)我愛(ài)你 2英語(yǔ)愛(ài)老虎油 3法語(yǔ)也帶嘛 4德語(yǔ)衣西里拔弟兮 5荷蘭阿榮吼范丸 6日本阿姨兮帶路 7韓語(yǔ)撒朗嗨喲8俄羅斯鴨雞不鴨留不留 9西班牙得阿

30、摸10意大利語(yǔ)提阿么 11希臘語(yǔ)薩哈潑12阿拉伯語(yǔ)無(wú)黑不可 查看更多內(nèi)容.(4) 更多類似成語(yǔ): 1 最怪的人虎背熊腰 2 最高的巨人頂天立地 3 最大的嘴口若懸河 4 最長(zhǎng)的腿一步登天 5 最大的手一手遮天 6 最吝嗇的人一毛不拔 7 最寬闊的胸懷虛懷若谷 8 最長(zhǎng)的壽命萬(wàn)壽無(wú)疆 9 最寶貴的話金玉良言 10 最厲害的賊偷天換日 11 最寬的嘴巴口若懸河 12 最貴的話-一語(yǔ)千金 13 最難的話-一言難盡 14 最快的話一言既出 駟馬難追 15 最重的話一言九鼎 16 最準(zhǔn)的話一言為定 17 最有價(jià)值的話一諾千金 18 最誠(chéng)的忠言金玉良言 19 最大的誓言??菔癄€ 20 最廣的話一言千里 2

31、1 最有學(xué)問(wèn)的人無(wú)所不知 22 最厲害的賊偷梁換柱 23 最大的差別天壤之別 24 最大的家四海為家 25 最愛(ài)學(xué)習(xí)的人如饑似渴 26 最愛(ài)工作的人廢寢忘食 27 最長(zhǎng)的時(shí)間千秋萬(wàn)代 28 最長(zhǎng)的棍子一柱擎天 29 最成功的戰(zhàn)斗一網(wǎng)打盡 30 最慘的結(jié)局一敗涂地 31 最徹底的勞動(dòng)斬草除根 32 最大的滿足天遂人愿 33 最多的顏色萬(wàn)紫千紅 34 最費(fèi)時(shí)的工程百年樹(shù)人 35 最繁忙的季節(jié)多事之秋 36 最公開(kāi)的事情盡人皆知 37 最高明的醫(yī)術(shù)藥到病除 38 最高超的技術(shù)鬼斧神工 39 最高明的指揮一呼百應(yīng) 40 最神秘的行動(dòng)神出鬼沒(méi) 41 最小的針無(wú)孔不入 42 最大的變化天翻地覆 43 最怪

32、的動(dòng)物虎頭蛇尾 44 最大的容量包羅萬(wàn)象 45 最大的差別只有在復(fù)制非文件,諸如文本、圖片等時(shí),剪貼板中存放的才是源數(shù)據(jù)本身。所以粘貼前刪除原文件,粘貼操作將不能進(jìn)行。 2.系統(tǒng)剪貼板或增強(qiáng)剪貼板上存放的信息量較大時(shí),將嚴(yán)重影響系統(tǒng)運(yùn)行的速度,必要時(shí)采用復(fù)制一個(gè)字符來(lái)更新系統(tǒng)剪貼板里的信息,或點(diǎn)擊增強(qiáng)剪貼板的刪除按鈕,清空剪貼板上的信息,以清除RAM中被剪貼板占用的空間。 使用方法 對(duì)于最新版的Word2023軟件,剪貼板的使用方法如下: 第1步,打開(kāi)Word2023文檔窗口,選中一部分需要復(fù)制或剪切的內(nèi)容,并執(zhí)行“復(fù)制”或“剪切”命令。然后在“開(kāi)始”功能區(qū)單擊“剪貼板”分組右下角的“顯示 O

33、ffice剪貼板 任務(wù)窗格”按鈕。 第2步,在打開(kāi)的Word2023“剪貼板”任務(wù)窗格中可以看到暫存在Office剪貼板中的項(xiàng)目列表,如果需要粘貼其中一項(xiàng),只需單擊該選項(xiàng)即可。 小提示:如果需要?jiǎng)h除Office剪貼板中的其中一項(xiàng)內(nèi)容或幾項(xiàng)內(nèi)容,可以單擊該項(xiàng)目右側(cè)的下拉三角按鈕,在打開(kāi)的下拉菜單中執(zhí)行“刪除”命令。 如果需要?jiǎng)h除Office剪貼板中的所有內(nèi)容,可以單擊Office剪貼板內(nèi)容窗格頂部的“全部清空”按鈕。 常見(jiàn)問(wèn)題編輯 如何打開(kāi) 當(dāng)您從某個(gè)程序剪切或復(fù)制信息時(shí),該信息會(huì)被移動(dòng)到剪貼板并保留在那里,直到您清除剪貼板或者您剪切或復(fù)制了另一片信息?!凹糍N簿查看器”中的剪貼板窗口顯示了剪貼板

34、的內(nèi)容??梢栽谌魏涡枰臅r(shí)候?qū)⑿畔募糍N板粘貼到文件中。但是,信息僅暫時(shí)存儲(chǔ)在剪貼板上。 一般情況下,剪貼板是隱藏著的,因?yàn)槲覀兡康牟皇且榭瓷厦娴木唧w內(nèi)容,僅僅是利用它來(lái)粘貼資料,所以:按“CTRL+C”復(fù)制內(nèi)容,再按“CTRL+V”粘貼,或擊右鍵粘貼! 一、在Windows 9X系統(tǒng)中打開(kāi) 依次點(diǎn)擊“開(kāi)始” “程序” “附件” “系統(tǒng)” “剪貼板查看程序”,則打開(kāi)“剪貼板查看窗口”。窗口中顯示的即為剪貼板上當(dāng)前的內(nèi)容。 二、在Windows XP系統(tǒng)中打開(kāi) 開(kāi)始; 運(yùn)行; clipbrd,即可打開(kāi)“剪貼板查看器”。見(jiàn)圖! 右鍵單擊桌面, 選擇“新建”命令下的“快捷方式”,彈出對(duì)話框,在位置

35、域中輸入C:/Windows/system32/clipbrd.exe。單擊“下一步”直至“完成”。雙擊桌面上的快捷方式,就能查看剪貼板內(nèi)容了。 三、window7系統(tǒng)中位置 C:WINDOWSsystem32clip(一閃而過(guò)) 如何安裝 在WINDOWS里面,有個(gè)剪貼板查看程序,你可以通過(guò)這個(gè)程序看到你的 中轉(zhuǎn)站 上放了些什么東西。不過(guò)默認(rèn)安裝WINDOWS的時(shí)候是不會(huì)安裝這個(gè)剪貼板查看程序的,要自己手動(dòng)安裝。 安裝方法是在 控制面板 里面打開(kāi) 添加/刪除程序 ,然后選擇 WINDOWS組件安裝 ,在 附件 里面找到 剪貼板查看程序 ,選中即可。 如何復(fù)制圖片 剪貼板不僅可以復(fù)制文本內(nèi)容還支持復(fù)制圖片信息,主要可以通過(guò)以下方法: 利用即時(shí)通訊軟件(如百度HI、QQ、阿里旺旺等)附帶的截圖插件,截圖后自動(dòng)將圖片復(fù)制到剪貼板 word等文字

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論