教你幾個MySQL鮮為人知特殊技巧_Mssql數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:三個影響SQL Server性能的關鍵點
      一、邏輯數據庫和表的設計 數據庫的邏輯設計、包括表與表之間的關系是優化關系型數據庫性能的核心。一個好的邏輯數據庫設計可以為優化數據庫和應用程序打下良好的基

      以XML格式查看查詢結果

      通過使用傳統—xml 選項調用MySQL命令行客戶程序,你可以以XML格式(而不是傳統的列表形式)來查看。

      MySQL查詢結果

      如果你打算將查詢輸出與其它程序集成在一起,這一技巧非常有用,這里是一個例子:

      表A

      shell> mysql --xml mysql> SELECT * FROM test.stories;1This is a test2This is the second test2rows in set (0.11 sec)

      快速重建索引

      通常情況下,如果你想改變服務器的全文搜索變量,你需要在表格中重新建立全文索引,以確保你的更新得到映射。這一操作將會花費大量的時間,特別是如果你需要處理很多數據的時候。一種快速的解決。

      方法是使用REPAIR TABLE命令,以下為演示過程:

      表B

      mysql> REPAIR TABLE content QUICK; ----------- -------- ---------- ---------- | Table| Op| Msg_type | Msg_text | ----------- -------- ---------- ---------- | content| repair | status| OK| ----------- -------- ---------- ---------- 1 row in set (0.05 sec)

      壓縮一定的表格類型

      如果你處理的是只讀MyISAM表格,MySQL允許你將其壓縮以節省磁盤空間。對此可以使用包括myisampack,如下所示:

      表C

      shell> myisampackmovies.MYI Compressing movies.MYD: (146 records)- Calculating statistics- Compressing file41.05%

      使用傳統SQL

      MySQL支持SQL查詢中的傳統用法,支持IF與CASE結構。以下是一個簡單的例子:

      表D

      mysql> SELECT IF (priv=1, 'admin', 'guest') As usertype FROM privs WHERE username = 'joe'; ---------- | usertype | ---------- | admin| ---------- 1 row in set (0.00 sec)以CSV格式輸出表格數據

      MySQL 輸出文件包含一個全部SQL命令列表。如果你想將輸出文件導入到MySQL,這一功能非常實用,但如果目標程序(比如Excel)不能與SQL相互通訊,這一方法將行不通。在這種情況下,可以通過告訴MySQL

      以CSV格式建立輸出文件,這種CSV格式很方便地導入到絕大部分的程序。這里演示了 mysqldump的操作過程:

      shell> mysqldump -T .--fields-terminated-by=", " mydbmytable

      這將在當前目錄中生成一個文本文件,包含來自mydb.mytable列表中以逗號為間隔符的記錄。

      以激活strict模式減少“bad”數據的出現

      MySQL服務器能夠以多種不同的模式運行,而每一種都針對于特定的目的而優化。在默認情況下,沒有設置模式。然而,通過在服務器命令行中添加以下選項可以很容易地改變模式的設置并將MySQL以“strict”模式運行:

      shell> mysqld --sql_mode="STRICT_ALL_TABLES" &

      在“strict”模式下,通過MySQL的中止查詢執行并返回一個錯誤,服務器的很多自動修正功能都被無效化。同樣,該模式下也將會執行更為嚴格的時間檢查。

      監視服務器

      你可以通過運行SHOW STATUS命令獲得一份服務器運行與統計的報告,包括打開連接的次數,激活查詢次數,服務器正常運行時間等等。例如:

      表E

      Emysql> SHOW STATUS; ------------------ ------- | Variable_name| Value | ------------------ ------- | Aborted_clients| 0|| Aborted_connects | 0|...| Uptime| 851| ------------------ ------- 156 rows in set (0.16 sec)

      自動返回CREATE TABLE代碼

      MySQL允許你自動獲得SQL命令重新建立一個特定的表格。只簡單地運行SHOW CREATE TABLE命令,并查看表格建立代碼,如下所示:

      表F

      mysql> SHOW CREATE TABLE products; ---------------------------------------| Table| Create Table ---------- ---------------------------| products | CREATE TABLE `products` (`id` int(8) NOT NULL auto_increment,`name` varchar(255) NOT NULL default '',`price` int(10) default NULL,PRIMARY KEY(`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 | ---------- ----------------------------1 row in set (0.27 sec)

      建立一個更為有用的命令提示:

      在缺省情況下,MySQL命令行客戶程序顯示一個簡單的mysql>提示符。然而,你可以使用特定的修改內容來改變這一提示符使之變得更為有效,這些內容包括:當前用戶名稱,主機名稱,以及當前選擇的數據庫。如下所示:

      表G

      mysql> prompt \U:/\d> PROMPT set to '\U:/\d>'root@localhost:/db1>

      分享:怎樣從客戶端提升SQL Server數據庫性能
      第一:編寫限制搜索范圍的查詢語句。 眾所周知,在數據庫查詢的時候返回記錄的多少直接關系到查詢的效率。所以,在客戶端通過一定的條件語句,限制搜索的范圍,往往可以大幅度的提高查詢的效率。 如用戶在客戶端查詢數據庫的時候,在查詢語句中,加入TOP語句

      來源:模板無憂//所屬分類:Mssql數據庫教程/更新時間:2009-05-19
      相關Mssql數據庫教程