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

正文內(nèi)容

深入mysql數(shù)據(jù)庫開發(fā)、優(yōu)化與管理維護-資料下載頁

2025-11-04 16:53本頁面
  

【正文】 項語法時,可以使用關(guān) 鍵字進行快速查詢。例如,我想知道 show 命令都能看些什么東西,可以用如下命令: mysql ? show Name: 39。SHOW39。 Description: SHOW has many forms that provide information about databases, tables, columns, or status information about the server. This section describes those following: SHOW AUTHORS SHOW CHARACTER SET [LIKE 39。pattern39。] SHOW COLLATION [LIKE 39。pattern39。] SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE 39。pattern39。] SHOW CONTRIBUTORS SHOW CREATE DATABASE db_name SHOW CREATE EVENT event_name SHOW CREATE FUNCTION funame 。 我想知道 create table 的語法,可以命令如下: mysql ? create table Name: 39。CREATE TABLE39。 Description: Syntax: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) 網(wǎng)易技術(shù)部 11 [table_option ...] [partition_options] Or: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_option ...] [partition_options] select_statement 、 。 第 2章 表類型(存儲引擎)的選擇 Mysql 存儲引擎概述 mysql支持多種存儲引擎,在處理不同類型的應(yīng)用時,可以通過選擇使用不同的存儲引擎提高應(yīng)用的效率,或者提供靈活的存儲。 mysql的存儲引擎包括: MyISAM、 InnoDB、 BDB、 MEMORY、 MERGE、 EXAMPLE、 NDB Cluster、ARCHIVE、 CSV、 BLACKHOLE、 FEDERATED等,其中 InnoDB和 BDB提供事務(wù)安全表,其他存儲引擎都是非事務(wù)安全表。 各種存儲引擎的特性 下面我們重點介紹幾種常用的存儲引擎并對比各個存儲引擎之間的區(qū)別和推薦使用方式。 特點 Myisam BDB Memory InnoDB Archive 存儲限制 沒有 沒有 有 64TB 沒有 事務(wù)安全 支持 支持 鎖機制 表鎖 頁鎖 表鎖 行鎖 行鎖 網(wǎng)易技術(shù)部 12 B樹索引 支持 支持 支持 支持 哈希索引 支持 支持 全 文索引 支持 集群索引 支持 數(shù)據(jù)緩存 支持 支持 索引緩存 支持 支持 支持 數(shù)據(jù)可壓縮 支持 支持 空間使用 低 低 N/A 高 非常低 內(nèi)存使用 低 低 中等 高 低 批量插入的速度 高 高 高 低 非常高 支持外鍵 支持 最常使用的 2種存儲引擎 : 1. Myisam是 Mysql的默認存儲引擎,當 create創(chuàng)建新表時,未指定新表的存儲引擎時,默認使用 Myisam。 每個 MyISAM在磁盤上存儲成三個文件。文件名都和表名相同,擴展名分別是 .frm( 存儲表定義)、 .MYD (MYData,存儲數(shù)據(jù) )、 .MYI (MYIndex,存儲索引 )。數(shù)據(jù)文件和索引文件可以放置在不同的目錄,平均分布 io,獲得更快的速度。 2. InnoDB存儲引擎 提供了具有提交 、 回滾和崩潰恢復(fù)能力的事務(wù)安全。 但是對比 Myisam的存儲引擎, InnoDB 寫的處理效率差一些并且會占用更多的磁盤空間以保留數(shù)據(jù)和索引。 如何選擇合適的存儲引擎 選擇標準 : 根據(jù)應(yīng)用特點選擇合適的存儲引擎 ,對于復(fù)雜的應(yīng)用系統(tǒng)可以根據(jù)實際情況選擇多種存儲引擎進行組合 . 下面是常用存儲引擎的適用環(huán)境 : 1. MyISAM:默認的 MySQL插件式存儲引擎,它是在 Web、數(shù)據(jù)倉儲和其他應(yīng)用環(huán)境下最常使用的存儲引擎之一 2. InnoDB:用于事務(wù)處理應(yīng)用程序,具有眾多特性,包括 ACID事務(wù)支持。 網(wǎng)易技術(shù)部 13 3. Memory:將所有數(shù)據(jù)保存在 RAM中,在需要快速查找引用和其他類似數(shù)據(jù)的環(huán)境下,可提供極快的訪問。 4. Merge:允許 MySQL DBA或開發(fā)人員將一系列等同的 MyISAM表以邏輯方式組合在一起,并作為 1個對象引用它們。對于諸如數(shù)據(jù)倉儲等 VLDB環(huán)境十分適合。 第 3章 選擇合適的數(shù)據(jù)類型 選擇數(shù)據(jù)類型的基本原則 前提 : 使用適合存儲引擎 。 選 擇原則 : 根據(jù)選定的 存儲引擎 ,確定如何選擇合適的數(shù)據(jù)類型 下面的選擇方法按存儲引擎分類 : 1. MyISAM 數(shù)據(jù)存儲引擎和數(shù)據(jù)列 MyISAM數(shù)據(jù)表,最好使用固定長度的數(shù)據(jù)列代替可變長度的數(shù)據(jù)列。 2. MEMORY存儲引擎和數(shù)據(jù)列 MEMORY數(shù)據(jù)表目前都使用固定長度的數(shù)據(jù)行存儲,因此無論使用 CHAR或 VARCHAR列都沒有關(guān)系。兩者都是作為 CHAR類型處理的。 3. InnoDB 存儲引擎和數(shù)據(jù)列 建議使用 VARCHAR類型 對于 InnoDB數(shù)據(jù)表,內(nèi)部的行存儲格式?jīng)]有區(qū)分固定長度和可變長度列(所有數(shù)據(jù)行都使用指向 數(shù)據(jù)列值的頭指針),因此在本質(zhì)上,使用固定長度的 CHAR列不一定比使用可變長度 VARCHAR列簡單。因而,主要的性能因素是數(shù)據(jù)行使用的存儲總量。由于 CHAR平均占用的空間多于 VARCHAR,因 此使用 VARCHAR來最小化需要處理的數(shù)據(jù)行的存儲總量和磁盤 I/O是比較好的。 固定長度數(shù)據(jù)列與可變長度的數(shù)據(jù)列 char 與 varchar ? CHAR和 VARCHAR類型類似,但它們保存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同。在存儲或檢索過程中不進行大小寫轉(zhuǎn)換。 網(wǎng)易技術(shù)部 14 下面的表顯示了將各種字符串值 保存到 CHAR(4)和 VARCHAR(4)列后的結(jié)果,說明了 CHAR和VARCHAR之間的差別: 值 CHAR(4) 存儲需求 VARCHAR(4) 存儲需求 39。39。 39。 39。 4個字節(jié) 39。39。 1個字節(jié) 39。ab39。 39。ab 39。 4個字節(jié) 39。ab 39。 3個字節(jié) 39。abcd39。 39。abcd39。 4個字節(jié) 39。abcd39。 5個字節(jié) 39。abcdefgh39。 39。abcd39。 4個字節(jié) 39。abcd39。 5個字節(jié) 請注意上表中最后一行的值只適用 不使用嚴格模式 時;如果 MySQL運行在嚴格模式,超過列長度不的值 不 保存 ,并且會 出現(xiàn)錯誤。 從 CHAR(4)和 VARCHAR(4)列檢索的值并不總是相同,因為檢索時從 CHAR列刪除了尾部的空格。通過下面的例子說明該差別: mysql CREATE TABLE vc (v VARCHAR(4), c CHAR(4))。 Query OK, 0 rows affected ( sec) mysql INSERT INTO vc VALUES (39。ab 39。, 39。ab 39。)。 Query OK, 1 row affected ( sec) mysql SELECT CONCAT(v, 39。+39。), CONCAT(c, 39。+39。) FROM vc。 +++ | CONCAT(v, 39。+39。) | CONCAT(c, 39。+39。) | +++ | ab + | ab+ | +++ 1 row in set ( sec) 網(wǎng)易技術(shù)部 15 text 和 blob 在使用 text和 blob字段類型時要注意以下幾點 ,以便更好的發(fā)揮數(shù)據(jù)庫的性能 . 1. BLOB和 TEXT值也會引起自己的一些問題,特別是執(zhí)行了大量的刪除或更新操作的時候。刪除這種值會在數(shù)據(jù)表中留下很大的 空洞 ,以后填入這些 空洞 的記錄可能長度不同 ,為了提高性能 ,建議定期使用 OPTIMIZE TABLE 功能對這類表進行碎片整理 . 2. 使用合成的( synthetic)索引。 合成的索引列在某些時候是有用的。一種辦法是根據(jù)其它的列的內(nèi)容建立一個散列值,并把這個值存儲在單獨的數(shù)據(jù)列中。接下來你就可以通過檢索散列值找到 數(shù)據(jù)行了。但是,我們要注意這種技術(shù)只能用于精確匹配的查詢(散列值對于類似 或 =等范圍搜索操作符 是沒有用處的)。我們可以使用 MD5()函數(shù)生成散列值,也可以使用 SHA1()或 CRC32(),或者使用自己的應(yīng)用程序邏輯來計算散列值。請記住數(shù)值型散列值可以很高效率地存儲。同樣,如果散列算法生成的字符串帶有尾部空格,就不要把它們存儲在 CHAR或 VARCHAR列中,它們會受到尾部空格去除的影響。 合成的散列索引對于那些 BLOB或 TEXT數(shù)據(jù)列特別有用。用散列標識符值查找的速度比搜索 BLOB列本身的速度快很多 。 3. 在不必要的時候避免檢索大型的 BLOB或 TEXT值。 例如, SELECT *查詢就不是很好的想法,除非你能夠確定作為約束條件的 WHERE子句只會找到所需要的數(shù)據(jù)行。否則,你可能毫無目的地在網(wǎng)絡(luò)上傳輸大量的值。這也是 BLOB或 TEXT標識符信息存儲在合成的索引列中對我們有所幫助的例子。你可以搜索索引列,決定那些需要的數(shù)據(jù)行,然后從合格的數(shù)據(jù)行中檢索 BLOB或 TEXT值。 4. 把 BLOB或 TEXT列分離到單獨的表中。 在某些環(huán)境中,如果把這些數(shù)據(jù)列移動到第二張數(shù)據(jù)表中,可以讓你把原數(shù)據(jù)表中 的數(shù)據(jù)列轉(zhuǎn)換為固定長度 的數(shù)據(jù)行格式,那么它就是有意義的。這會減少主表中的碎片,使你得到固定長度數(shù)據(jù)行的性能優(yōu)勢。它還使你在主數(shù)據(jù)表上運行 SELECT *查詢的時候不會通過網(wǎng)絡(luò)傳輸大量的 BLOB或 TEXT值。 浮點數(shù)與定點數(shù) 為了能夠引起大家的重視,在介紹浮點數(shù)與定點數(shù)以前先讓大家看一個例子: mysql CREATE TABLE test (c1 float(10,2),c2 decimal(10,2))。 Query OK, 0 rows affected ( sec) 網(wǎng)易技術(shù)部 16 mysql insert into test values(,)。 Query OK, 1 row affected ( sec) mysql select * from test。 +++ | c1 | c2 | +++ | | | +++ 1 row in set ( sec) 從上面的例子中我 們看到 c1 列的值由 變成了 ,這就是浮點數(shù)的不精確性造成的。 在 mysql中 float、 double(或 real)是浮點數(shù), decimal(或 numberic)是定點數(shù)。 浮點數(shù)相對于定點數(shù)的優(yōu)點是在長度一定的情況下,浮點數(shù)能夠表示更大的數(shù)據(jù)范圍;它的缺點是會引起精度問題。 在今后關(guān)于浮點數(shù)和定點數(shù)的應(yīng)用中,大家要記住以下幾點: 浮點數(shù)存在誤差問題; 對貨幣等對精度敏感的數(shù)據(jù),應(yīng)該用定點數(shù)表示或存儲; 編程中,如果用到浮點數(shù),要特別注意誤差問題, 并盡量避免做浮點數(shù)比較; 要注意浮點數(shù)中一些特殊值的處理。 第 4章 字符集 字符集概述 字符集是一套符號和編碼的規(guī)則,不論是在 oracle 數(shù)據(jù)庫還是在 mysql 數(shù)據(jù)庫,都存在字符集的選擇問題,而且如果在數(shù)據(jù)庫創(chuàng)建階段沒有正確選擇字符集,那么可能在后期需要更換字符集,而字符集的更換是代價比較高的操作,也存在一定的風險,所以,我們推薦在應(yīng)用開始階段,就按照需求正確的選擇合適的字符集,避免后期不必要的調(diào)整。 網(wǎng)易技術(shù)部 17 Mysql 支持的字符集簡介 mysql服務(wù)器可以支持多種字符集(可以用 show character set命令查看所有 mysql支持的字符集),在同一臺服務(wù)器、同一個數(shù)據(jù)庫、甚至同一個表的不同字
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1