Time of Update: 2017-02-28
首先是如何檢查SQL的效率.1.善用explain:設計SQL後,應使用explain命令檢查SQL,看是否使用到索引,是否存在filesort,重點檢查檢索的行 數(rows)是否太大。一般來說.rows<1000,是在可接受的範圍內的。rows在1000~1w之間,在密集訪問時可能導致效能問題,但如果不是太頻繁的訪問(頻率低於1分鐘一 次),又難再最佳化的話,可以接受,但需要注意觀察rows大於1萬時,應謹慎考慮SQL的設計,最佳化SQL,最佳化db,一般來說不允許頻繁運行(頻率低於1
Time of Update: 2017-02-28
在《用MySQL建立資料庫和資料庫表》文章中,我們如何建立一個資料庫和資料庫表,並知道如何向數 據庫表中添加記錄。 那麼我們如何從資料庫表中檢索資料呢?1、從資料庫表中檢索資訊實際上,前面我們已經用到了SELECT語句,它用來從資料庫表中檢索資訊。select語句格式一般為:SELECT 檢索關鍵詞 FROM 被檢索的表 WHERE 檢索條件(可選)以前所使用的“ * ”表示選擇所有的列。下面繼續使用我們在上篇文章中建立的表
Time of Update: 2017-02-28
在預設情況下,mysqld會在10次串連錯誤後屏蔽主機。你可以通過下述方式啟動伺服器來調整該值如果遇到下述錯誤,表示MySQLd已收到來來自主機“host_name”的很多串連請求,但該主機卻在中途中斷。由於出現很多串連錯誤,主機'host_name'被屏蔽。可使用'mysqladmin
Time of Update: 2017-02-28
一個自訂函數 (UDF)就是用一個象ABS() 或 CONCAT()這樣的固有(內建)函數一樣作用的新函數去 擴充MySQL。CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL} SONAME shared_library_nameDROP FUNCTION function_namefunction_name 是 用在SQL聲明中以備調用的函數名字。RETURNS 子句說明函數傳回值的類型。
Time of Update: 2017-02-28
MySQL中SELECT語句的基本文法是:以下是引用片段:SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT][SQL_BIG_RESULT] [HIGH_PRIORITY][DISTINCT|DISTINCTROW|ALL]select_list[INTO {OUTFILE|DUMPFILE} 'file_name' export_options][FROM table_references [WHERE where_definition][GROUP BY
Time of Update: 2017-02-28
出現錯誤的樣本:Illegal mix of collations (gbk_chinese_ci,IMPLICIT)and (gbk_bin,IMPLICIT) for operation '=',SQL State: HY000, Error Code: 1267原因:資料庫的編碼與建表時的編碼不一樣;處理方法:如果安裝MySQL時設定的編碼為jbk,那麼建表時可以用下面的方法處理:CREATE TABLE `teachers` (id` int(11) NOT NULL default '
Time of Update: 2017-02-28
問題:表 t 有個欄位叫做 c,現在想要把 c 裡面的第 10 和 第 11 列位置對調一下,咋辦啊?答案:用下面的辦法吧,不過本例只對ascii字元有作用,中文或其他的就另外想辦法。mysql>set @pos1 = 10;mysql>set @pos2 = 11;mysql>UPDATE t SET c = CONCAT( LEFT(c,@pos1-1), -- 第 10 列以前的值SUBSTR(c,@pos2,1), -- 第 11 列的值SUBSTR(c,@pos1+1
Time of Update: 2017-02-28
DATE值的格式是'YYYY-MM-DD'。按照標準的SQL,不允許其他格式。在UPDATE運算式以及SELECT語句的WHERE子句中應使用該格式。例如:MySQL> SELECT * FROM tbl_name WHERE date >=
Time of Update: 2017-02-28
伺服器關閉進程可以概括為:1.啟動關閉進程2.伺服器根據需要建立關閉線程3.伺服器停止接收新串連4.伺服器終止當前的活動5.儲存引擎被停掉或關閉6.伺服器退出下面是更詳細的描述:1.啟動關閉進程可以用多種方法啟動伺服器的關閉。例如,擁有SHUTDOWN許可權的使用者可以執行MySQLadmin
Time of Update: 2017-02-28
首先,請考慮是否的確需要更改表中的列順序。SQL的核心要點是從資料存放區格式擷取應用。總應指定檢索資料的順序。在下面的第1條語句中,以col_name1、col_name2、col_name3順序返回列;在第2條語句中,以col_name1、col_name3、col_name2順序返回列:MySQL> SELECT col_name1, col_name2, col_name3 FROM tbl_name;mysql> SELECT col_name1, col_name3,
Time of Update: 2017-02-28
已壓縮儲存格式是由myisampack工具建立的唯讀格式。所有MySQL分發版裡都預設包括myisampack。已壓縮表可以用myisamchk來解壓縮。已壓縮表有下列特徵:· 已壓縮表佔據非常小的磁碟空間。這最小化了磁碟用量,當使用緩慢的磁碟(如CD-ROM)之時,這是很有用的。·
Time of Update: 2017-02-28
通訊資訊包是發送至MySQL伺服器的單個SQL語句,或發送至用戶端的單一行。在MySQL
Time of Update: 2017-02-28
MySQL中有許多操作符和函數可以返回字串。本節回答這個問題:返回的字串使用什麼字元集和 校對規則?對於簡單的函數,即接收字串輸入然後返回一個字串結果作為輸出的函數,輸出的字元集和校對規則與原始輸入的相同。例如,UPPER(X)返回一個字串,其字元和
Time of Update: 2017-02-28
Instance Manager使用標準my.cnf檔案。它使用[manager]部分為自己讀取選項並讀取[MySQLd]部分來建立執行個體。[manager]部分包含上述列出的選項。下面為[manager]部分樣本:# MySQL Instance Manager options section[manager]default-mysqld-path =
Time of Update: 2017-02-28
如果你忘記了你的MYSQL的root口令的話,你可以通過下面的過程恢複。1. 向mysqld server 發送kill命令關掉mysqld server(不是 kill -9),存放進程ID的檔案通常在MYSQL的資料庫所在的目錄中。kill `cat /mysql-data-directory/hostname.pid`你必須是UNIX的root使用者或者是你所啟動並執行SERVER上的同等使用者,才能執行這個操作。2. 使用--skip-grant-tables 參數來啟動 mysqld。
Time of Update: 2017-02-28
MySQL是一個非常流行的小型關係型資料庫管理系統。目前MySQL被廣泛地應用在Internet上的中小型 網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低 網站總體擁有成本而選擇了MySQL作為網站資料庫。MySQL的管理維護工具非常多,除了系統內建的命令列管理工具之外,還有許多其他的圖形化管理工具
Time of Update: 2017-02-28
一、下載安裝檔案到MySQL官方網站找到ZIP檔案二、解壓檔案,選擇位置最好是放在某個盤的mysql檔案夾下,這樣比較容易找到,這裡我們將檔案解壓到D盤的mysql檔案夾下。三、讓windows知道你的MySQL在哪個位置在系統硬碟的Windows主目錄下建立一個my.ini檔案,內容如下:[mysqld]basedir=D:/mysql/datadir=D:/mysql/data/然後設定PATH環境變數。把D:mysqlbin添加進去,這樣的話下次進入命令模式的時候就可以直接用mysql,而
Time of Update: 2017-02-28
如果遇到“ERROR '...'未發現(errno: 23)”,“無法開啟檔案:... (errno: 24)”,或來自MySQL的具有errno 23或errno 24的其它錯誤,它表示未為MySQL伺服器分配足夠的檔案描述符。你可以使用perror工具 + 生產力來瞭解錯誤編號的含義:shell> perror 23錯誤碼23:檔案表溢出shell> perror 24錯誤碼24:開啟檔案過多shell> perror
Time of Update: 2017-02-28
選擇了MySQL的安裝版本後,要做的第二項決策是你是使用源碼分發版還是二進位分發版。大多數情況,如果你的平台上已經有了一個二進位分發版,你可能使用二進位分發版。大多數平台可以使用原格式二進位分發版,例如Linux使用RPM檔案,Mac OS X使用DMG安裝軟體包。也可以使用Zip檔案或壓縮tar檔案。選擇二進位分發版的理由:· 二進位分發版比源碼分發版更容易安裝。·
Time of Update: 2017-02-28
利用系統crontab來定時執行備份檔案,按日期對備份結果進行儲存,達到備份的目的。1、建立儲存備份檔案的路徑/mysqldata#mkdir /mysqldata2、建立/usr/sbin/bakmysql檔案#vi /usr/sbin/bakmysql輸入rq=` date +%Y%m%d `tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql或者寫成rq=` date +%Y%m%d `mysqldump --all-databases