將MySQL的臨時(shí)目錄建立在內(nèi)存中的教程_MySQL教程
推薦:介紹使用WordPress時(shí)10個(gè)常用的MySQL查詢大多數(shù)使用 WordPress 搭建的網(wǎng)站,其后臺(tái)都是 MySQL 數(shù)據(jù)庫(kù),經(jīng)常我們需要定制 WordPress 的功能,這里我們列表 10 個(gè)最有用的 WordPress 的數(shù)據(jù)庫(kù)查詢,你需要一個(gè)數(shù)據(jù)庫(kù)的管理工具,例如 phpMyAdmin 或者 Navicat 等來(lái)執(zhí)行這些 SQL 語(yǔ)句。 1. 將所有文件的作者改為
MySQL 系統(tǒng)會(huì)在內(nèi)存(MEMORY)與磁盤(pán)(MyISAM)中建立臨時(shí)表,怎么能知道在磁盤(pán)中建立了多少臨時(shí)表以及在內(nèi)存中建立多少臨時(shí)表呢?你可以通過(guò)下面命令獲知:
mysql> SHOW GLOBAL STATUS LIKE 'Created_tmp%tables';
+-------------------------+----------+
| Variable_name | Value |
+-------------------------+----------+
| Created_tmp_disk_tables | 49094 |
| Created_tmp_tables | 37842181 |
+-------------------------+----------+
很顯然,在內(nèi)存中的臨時(shí)表的性能要比在磁盤(pán)中好得多得多,因此我們希望盡可能的在內(nèi)存中建立臨時(shí)表。
為了實(shí)現(xiàn)這個(gè)要求,我們先檢查下臨時(shí)表的配置大�。�
mysql> SHOW GLOBAL VARIABLES LIKE '%table_size';
+---------------------+----------+
| Variable_name | Value |
+---------------------+----------+
| max_heap_table_size | 25165824 |
| tmp_table_size | 25165824 |
+---------------------+----------+
如果臨時(shí)表的大小比上述值小,則放于內(nèi)存中的 MEMORY 表;如果比上述值大則存放于磁盤(pán)中的 MyISAM 表。
但還有一個(gè)其他的因素會(huì)導(dǎo)致存放到磁盤(pán)的 MyISAM 表,那就是 MEMORY 表不能解決 TEXT 與 BLOG 類型數(shù)據(jù)。這種情況下 MySQL 會(huì)直接寫(xiě)入磁盤(pán)中的 MyISAM,并算作是 Created_tmp_disk_tables 的值。
如果臨時(shí)表已經(jīng)開(kāi)始導(dǎo)致嚴(yán)重的 I/O 性能問(wèn)題,那么你就要考慮使用磁盤(pán)內(nèi)存映射來(lái)代替物理磁盤(pán)。
在 Linux 上我們有兩種方法在內(nèi)存中建立 RAM-Disk,分別是 ramfs 與 tmpfs。
這里我們推薦使用 tmpfs。
可通過(guò)如下命令來(lái)創(chuàng)建 RAM-disk:
shell> mkdir -p /mnt/ramdisk
shell> chown mysql:mysql /mnt/ramdisk
shell> mount -t tmpfs -o size=512M tmpfs /mnt/ramdisk
為了在系統(tǒng)下次啟動(dòng)時(shí)自動(dòng)創(chuàng)建,我們可以將下列腳本置于 /etc/fstab 文件中:
tmpfs /mnt/ramdisk tmpfs rw,mode=1777 0 0
MySQL 還是將數(shù)據(jù)寫(xiě)到默認(rèn)的磁盤(pán),可通過(guò)下面命令來(lái)檢查:
mysql> SHOW GLOBAL VARIABLES LIKE 'tmpdir';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir | /tmp |
+---------------+-------+
你可以修復(fù) my.cnf 文件來(lái)改變這個(gè)路徑,然后重啟數(shù)據(jù)庫(kù)。
分享:初步介紹MySQL中的集合操作啥是集合操作? 通常來(lái)說(shuō),將聯(lián)接操作看作是表之間的水平操作,因?yàn)樵摬僮魃傻奶摂M表包含兩個(gè)表中的列。而我這里總結(jié)的集合操作,一般將這些操作看作是垂直操作。MySQL數(shù)據(jù)庫(kù)支持兩種集合操作:UNION DISTINCT和UNION ALL。 與聯(lián)接操作一樣,集合操作也是對(duì)兩個(gè)輸入進(jìn)
- 在MySQL中使用GTIDs復(fù)制協(xié)議和中斷協(xié)議的教程
- MySQL獲取所有分類的前N條記錄
- 介紹使用WordPress時(shí)10個(gè)常用的MySQL查詢
- 初步介紹MySQL中的集合操作
- 簡(jiǎn)單介紹MySQL中的事務(wù)機(jī)制
- mysql查詢區(qū)分大小寫(xiě)高性能
- WordPress如何修改Mysql數(shù)據(jù)庫(kù)的表前綴
- sqlitestudio怎么用
- MS SQL Server Management Studio Express怎么安裝?
- SQL Server 錯(cuò)誤:15023
- mysql數(shù)據(jù)庫(kù)執(zhí)行SQL導(dǎo)出數(shù)據(jù)方法
- MySQL最常見(jiàn)的操作語(yǔ)句小結(jié)
MySQL教程Rss訂閱編程教程搜索
MySQL教程推薦
猜你也喜歡看這些
- SQL Server與Oracle并行訪問(wèn)的本質(zhì)區(qū)別
- 謹(jǐn)記SQL Server索引管理的六大鐵律
- asp.net連接查詢SQL數(shù)據(jù)庫(kù)并把結(jié)果顯示在網(wǎng)頁(yè)上(2種方法)
- sql中case語(yǔ)句的用法淺談
- 解讀數(shù)據(jù)庫(kù)的一些常識(shí)
- 解讀經(jīng)典SQL語(yǔ)句大全
- sql2005 數(shù)據(jù)庫(kù)轉(zhuǎn)為sql2000數(shù)據(jù)庫(kù)的方法(數(shù)據(jù)導(dǎo)出導(dǎo)入)
- sql where 1=1的優(yōu)缺點(diǎn)分析
- 如何將SQL2000數(shù)據(jù)庫(kù)升級(jí)到SQL2005
- 詳細(xì)解析SQL Server安裝sp4補(bǔ)丁報(bào)錯(cuò)的方法
- 相關(guān)鏈接:
- 教程說(shuō)明:
MySQL教程-將MySQL的臨時(shí)目錄建立在內(nèi)存中的教程
。