freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

本章對(duì)數(shù)據(jù)庫(kù)技術(shù)的發(fā)展概況作了簡(jiǎn)要的說(shuō)明(參考版)

2025-07-09 17:09本頁(yè)面
  

【正文】 同時(shí),需要對(duì)MySQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)有一定了解,理解MySQL的各種存儲(chǔ)引擎及其特點(diǎn),重點(diǎn)掌握MyISAM存儲(chǔ)引擎和InnoDB存儲(chǔ)引擎。 小 結(jié)通過(guò)本章的學(xué)習(xí),讀者應(yīng)該對(duì)數(shù)據(jù)庫(kù)建立了基本的概念。由于對(duì)插入操作做了特別的優(yōu)化,因此,同樣數(shù)據(jù)量的回滾要比插入多花30倍的時(shí)間。如果一個(gè)ALTER在大表的轉(zhuǎn)換中,雖然可以增加InnoDB緩沖池的大小來(lái)減少磁盤(pán)I/O,提高數(shù)據(jù)插入效率,但是不要使用超過(guò)80%的物理內(nèi)存。 WHERE yourkey something AND yourkey = somethingelse。插入大量數(shù)據(jù)最好使用分段插入的方式,例如: INSERT INTO newtable SELECT * FROM oldtable例如:SET UNIQUE_CHECKS=0。在插入數(shù)據(jù)的過(guò)程中,如果在某個(gè)鍵上有UNIQUE約束,可以在導(dǎo)入階段設(shè)置:SET UNIQUE_CHECKS=0,臨時(shí)關(guān)掉唯一性檢查以加速表的導(dǎo)入。將一個(gè)表轉(zhuǎn)化為InnoDB表的最快捷的方法是使用ALTER TABLE...ENGINE=INNODB語(yǔ)句,將表指定為InnoDB存儲(chǔ)引擎。InnoDB不像MyISAM存儲(chǔ)引擎對(duì)索引創(chuàng)建進(jìn)行專(zhuān)門(mén)的優(yōu)化。系統(tǒng)表總是MyISAM類(lèi)型的。一些API也提供單獨(dú)的專(zhuān)門(mén)的事務(wù)提交和回滾函數(shù)或者方法。 10 | Heikki |+++1 row in set ( sec)在類(lèi)似PHP、Perl |+++|+++| AQuery OK, 1 row affected ( sec)MySQL ROLLBACK。John39。Query OK, 0 rows affected ( sec)MySQL SET AUTOCOMMIT=0。)。Query OK, 0 rows affected ( sec)MySQL INSERT INTO CUSTOMER VALUES (10, 39。 ENGINE=InnoDB。\c39。\h39。39。 or \g.Your MySQL connection id is 5 to server version: Type 39。shell MySQL testWele to the MySQL monitor. 如果AUTOCOMMIT保持打開(kāi)狀態(tài),則可以在START要使用多語(yǔ)句事務(wù),可以用SQL語(yǔ)句SET注意,SHOW只給出關(guān)于InnoDB表的大致統(tǒng)計(jì)情況。例如:SHOW TABLE STATUS FROM test LIKE 39。TABLE可以對(duì)任何InnoDB表,通過(guò)使用SHOW TABLE STATUS語(yǔ)句,查詢(xún)?cè)贗nnoDB表空間內(nèi)空閑空間的數(shù)量。表添加一個(gè)表項(xiàng)。同時(shí),InnoDB會(huì)在自己的數(shù)據(jù)目錄中為39。以上SQL語(yǔ)句在表空間的列上創(chuàng)建一個(gè)表和索引。ibdata2:50M:autoextend3.創(chuàng)建InnoDB表要?jiǎng)?chuàng)建一個(gè)InnoDB表,必須在表創(chuàng)建SQL語(yǔ)句中指定ENGINE = InnoDB或者TYPE = InnoDB選項(xiàng): CREATE TABLE customer (a INT, b CHAR (20), INDEX (a)) ENGINE=InnoDB。要明確指定一個(gè)位置,可使用innodb_data_home_dir選項(xiàng)。要為一個(gè)自動(dòng)擴(kuò)展數(shù)據(jù)文件指定最大尺寸,可以使用max屬性。ibdata2:50M:autoextend這個(gè)配置指定的表空間在數(shù)據(jù)目錄中包含一個(gè)名為ibdata1的固定尺寸50MB的數(shù)據(jù)文件和一個(gè)名為ibdata大小為50MB的自動(dòng)擴(kuò)展文件。沒(méi)有給出文件的位置,所以默認(rèn)的是在MySQL的數(shù)據(jù)目錄內(nèi)。 配置文件中采用如下形式:innodb_data_file_path=datafile_spec1[。 如果對(duì)最后的數(shù)據(jù)文件指定autoextend選項(xiàng),當(dāng)數(shù)據(jù)文件耗盡了表空間中的自由空間時(shí),InnoDB就會(huì)擴(kuò)展此數(shù)據(jù)文件。)分隔它們,文件大小用M或者G后綴來(lái)指定說(shuō)明單位是MB或者GB。innodb_data_file_path的值應(yīng)該為一個(gè)或多個(gè)數(shù)據(jù)文件規(guī)格的列表。如果沒(méi)有對(duì)InnoDB進(jìn)行配置,MySQL會(huì)在MySQL數(shù)據(jù)目錄下創(chuàng)建一個(gè)名為ibdata1的10MB大小的自動(dòng)擴(kuò)展數(shù)據(jù)文件,以及兩個(gè)名為ib_logfile0和ib_logfile1的5MB大小的日志文件。如果不想用InnoDB表。Mytrix,還有一些其他站點(diǎn)在InnoDB上處理平均每秒800次插入/更新的負(fù)荷。在Windows Essentials installer安裝中,InnoDB是Windows上MySQL的默認(rèn)引擎。這與MyISAM表不同,在MyISAM表中每個(gè)表被存在單獨(dú)的文件中,因此即使在文件大小被限制在2GB的文件系統(tǒng)上,InnoDB 表也可以是任意大小的。InnoDB存儲(chǔ)引擎完全與MySQL服務(wù)器整合,InnoDB存儲(chǔ)引擎為在內(nèi)存中建立自己的緩沖池來(lái)緩存數(shù)據(jù)和索引。InnoDB是為處理大量數(shù)據(jù)而設(shè)計(jì)的。InnoDB中行級(jí)鎖定適合非常小的空間,因此沒(méi)有在InnoDB中擴(kuò)大鎖定的需要,InnoDB也支持外鍵約束。InnoDB鎖定在行級(jí)并且也在SELECT語(yǔ)句提供一個(gè)Oracle風(fēng)格的非鎖定讀。這時(shí)可以使用一個(gè)腳本,自動(dòng)把這些文件從數(shù)據(jù)庫(kù)目錄移到備份媒質(zhì)上。 如果恢復(fù)不能夠從之前完成的語(yǔ)句中恢復(fù)所有行,而且沒(méi)有為myisamrecover選項(xiàng)值指定FORCE,自動(dòng)修復(fù)將會(huì)終止,并在錯(cuò)誤日志中寫(xiě)一條錯(cuò)誤信息:Error: Couldn39。 如果修復(fù)仍然失敗,服務(wù)器用舊修復(fù)選項(xiàng)方法再重試一次修復(fù)(一行接一行地寫(xiě),不排序)。q 如果服務(wù)器發(fā)現(xiàn)一個(gè)錯(cuò)誤,它試著快速表修復(fù)(排序且不重新創(chuàng)建數(shù)據(jù)文件)。q 表的打開(kāi)計(jì)數(shù)器變量不為0,并且服務(wù)器以skipexternallocking模式運(yùn)行。q myisam_sort_buffer_size 設(shè)置恢復(fù)表時(shí)使用的緩沖區(qū)的大小。q myisam_max_sort_file_size MySQL在重建MyISAM表索引時(shí)能夠使用的臨時(shí)文件的最大長(zhǎng)度,以字節(jié)為單位。如果指定這個(gè)選項(xiàng),則不應(yīng)該訪(fǎng)問(wèn)被另一個(gè)程序占用的MyISAM表(例如MySQL服務(wù)器或myisamchk),這樣做會(huì)破壞表的索引。表13列舉了Mode的取值。2.MyISAM選項(xiàng)配置下面簡(jiǎn)單介紹幾個(gè)對(duì)MyISAM表行為有影響的MySQLd選項(xiàng)。(14)含有VARCHAR的表可以有固定或動(dòng)態(tài)記錄長(zhǎng)度。myisamchk fast只檢查那些沒(méi)有這個(gè)標(biāo)志的表。如果用myisamrecover選項(xiàng)啟動(dòng)MySQLd,MyISAM表在打開(kāi)時(shí)會(huì)自動(dòng)檢查,如果表沒(méi)有恰當(dāng)?shù)仃P(guān)閉,就會(huì)修復(fù)該表。(10)每個(gè)字符列可以支持不同的字符集。(8)在索引的列中允許出現(xiàn)NULL值,每個(gè)鍵使用0~1個(gè)字節(jié)。如果鍵長(zhǎng)度超過(guò)250字節(jié),那么會(huì)使用1024字節(jié)的存儲(chǔ)塊去存放這個(gè)鍵。每個(gè)索引最多能有16列。如果希望MyISAM支持更大的表,可以使用withbigtables選項(xiàng),那么表的大小可達(dá)(232)2行。 (3)如果文件系統(tǒng)和操作系統(tǒng)支持大文件,那么MyISAM也可以支持這些大文件。(2)先存儲(chǔ)數(shù)據(jù)低字節(jié)并不會(huì)嚴(yán)重地影響速度;數(shù)據(jù)行中的字節(jié)一般是沒(méi)有對(duì)齊的,順序讀取一個(gè)沒(méi)有對(duì)齊的字節(jié)與反向讀取這個(gè)字節(jié)所占用幾乎相同的資源。這使得數(shù)據(jù)庫(kù)和操作系統(tǒng)分離。 除非默認(rèn)存儲(chǔ)引擎被改變,否則不需要顯示聲明MyISAM引擎。老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM)。(MYIndex)。.frm文件存儲(chǔ)表定義。 每個(gè)MyISAM在磁盤(pán)上存儲(chǔ)成3個(gè)文件。 MyISAM存儲(chǔ)引擎1.MyISAM的特點(diǎn)MyISAM是默認(rèn)存儲(chǔ)引擎。 要想在創(chuàng)建表時(shí)指定存儲(chǔ)引擎,可以使用ENGINE參數(shù):CREATE TABLE engineTest(id INT) ENGINE = MyISAM。使用MVCC多版本并發(fā)控制比鎖模型的主要優(yōu)點(diǎn)是在MVCC中,對(duì)檢索(讀)數(shù)據(jù)的鎖要求與寫(xiě)數(shù)據(jù)的鎖要求不沖突,所以讀不會(huì)阻塞寫(xiě),而寫(xiě)也從不阻塞讀。當(dāng)檢索數(shù)據(jù)庫(kù)時(shí),每個(gè)事務(wù)都看到一個(gè)數(shù)據(jù)的一段時(shí)間前的快照(一個(gè)數(shù)據(jù)庫(kù)版本),而不管正在處理的數(shù)據(jù)當(dāng)前的狀態(tài)。q BDB:支持事務(wù),允許COMMIT和ROLLBACK。q InnoDB:通過(guò)MVCC支持事務(wù),允許COMMIT、ROLLBACK和保存點(diǎn)。q Other:其他存儲(chǔ)引擎包括CSV(引用由逗號(hào)隔開(kāi)的用作數(shù)據(jù)庫(kù)表的文件),Blackhole(用于臨時(shí)禁止對(duì)數(shù)據(jù)庫(kù)的應(yīng)用程序輸入),以及Example引擎(可為快速創(chuàng)建定制的插件式存儲(chǔ)引擎提供幫助)。十分適合于分布式環(huán)境或數(shù)據(jù)集市的應(yīng)用。q Archive:為大量很少引用的歷史、歸檔或安全審計(jì)信息的存儲(chǔ)和檢索提供了完美的解決方案。DBA或開(kāi)發(fā)人員將一系列等同的MyISAM表以邏輯方式組合在一起,并作為一個(gè)對(duì)象引用它們。q Memory:將所有數(shù)據(jù)保存在RAM中,在需要快速查找引用和其他類(lèi)似數(shù)據(jù)的環(huán)境下,可提供極快的訪(fǎng)問(wèn)。q InnoDB:用于事務(wù)處理應(yīng)用程序,具有眾多特性,包括ACID事務(wù)支持。q MyISAM:默認(rèn)的MySQL插件式存儲(chǔ)引擎,它是在Web、數(shù)據(jù)倉(cāng)儲(chǔ)和其他應(yīng)用環(huán)境下最常使用的存儲(chǔ)引擎之一。在圖14的表格中,概要展示了與MySQL提供的存儲(chǔ)引擎。 選擇存儲(chǔ)引擎MySQL提供的各種存儲(chǔ)引擎在設(shè)計(jì)時(shí)考慮了不同的使用情況。用戶(hù)能用的數(shù)據(jù)庫(kù)引擎取決于MySQL在安裝時(shí)是如何被編譯的。 MySQL引擎 在默認(rèn)情況下,MySQL支持3個(gè)引擎:ISAM、 MyISAM和HEAP。這也就是MySQL插件式存儲(chǔ)引擎結(jié)構(gòu)比使用專(zhuān)門(mén)的存儲(chǔ)引擎結(jié)構(gòu)優(yōu)越的 地方。這樣可以減少服務(wù)器額外的負(fù)擔(dān),提高服務(wù)器的效率。每個(gè)存儲(chǔ)引擎都是為了實(shí)現(xiàn)響應(yīng)特定的需求而設(shè)計(jì)的。q 內(nèi)存高速緩沖:不同的應(yīng)用程序往往需要不同的緩存區(qū)大小和分配策略,盡管某些內(nèi)存高速緩沖對(duì)所有存儲(chǔ)引擎來(lái)說(shuō)是相同的(如用于用戶(hù)連接的高速緩沖、MySQL的高速查詢(xún)高速緩沖等),而各種存儲(chǔ)引擎不同的內(nèi)存高速緩沖管理方式可以根據(jù)應(yīng)用程序需要進(jìn)行選擇。q 物理存儲(chǔ):包括各種各樣的物理格式,從表和索引的總的頁(yè)大小、存儲(chǔ)數(shù)據(jù)所需的格式到物理磁盤(pán)。q 事務(wù)支持:并非所有的應(yīng)用程序都需要事務(wù),但對(duì)的確需要事務(wù)的應(yīng)用程序來(lái)說(shuō),可以選擇支持事務(wù)的存儲(chǔ)引擎,例如InnoDB引
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1