MySQL Proxy最強大的一項功能是實現“讀寫分離(Read/Write Splitting)”。基本的原理是讓主要資料庫處理事務性查詢,而從資料庫處理SELECT查詢。資料庫複寫被用來把事務性查詢導致的變更同步到叢集中的從資料庫。 Jan Kneschke在《MySQL Proxy learns R/W Splitting》中詳細的介紹了這種技巧以及串連池問題:
一、INSERT和REPLACE INSERT和REPLACE語句的功能都是向表中插入新的資料。這兩條語句的文法類似。它們的主要區別是如何處理重複的資料。 1. INSERT的一般用法 MySQL中的INSERT語句和標準的INSERT不太一樣,在標準的SQL語句中,一次插入一條記錄的INSERT語句只有一種形式。 INSERT INTO tablename(列名…) VALUES(列值); 而在MySQL中還有另外一種形式。 INSERT INTO tablename SET
例如,如果用戶端執行了查詢,但僅對第1行感興趣,那麼不會傳輸剩餘的行。 游標是唯讀,不能使用游標來更新行。 未實施UPDATE WHERE CURRENT OF和DELETE WHERE CURRENT OF,這是因為不支援可更新的游標。 游標是不可保持的(提交後不再保持開啟)。 游標是不敏感的。 游標是不可滾動的。 游標是未命名的。語句處理常式起著游標ID的作用。 對於每條預先處理語句,僅能開啟1個游標。如果需要多個游標,必須處理多條語句。
查看參數:SHOW VARIABLES; 設定參數:SET GLOBAL 參數名稱=value;如設定資料庫最大串連數為:SET GLOBAL max_connections=1000。 用shell>mysqld-help這個命令可以得到一張所有mysql選項和可組態變數的表.輸出以下資訊: possible variables for option--set-variable(-o) are: back_log current value:5
但請注意,下面的最佳化並不是完全的。MYSQL實施了許多最佳化,但我沒時間全部測試. MySQL的一些最佳化列在下面: 刪除不必要的括弧: ((a AND b) AND c OR (((a AND b) AND (c AND d)))) -> (a AND b AND c) OR (a AND b AND c AND d) 常數調入: (a<b AND b=c) AND a=5 -> b>5 AND b=c AND a=5 刪除常數條件: (B>=5 AND B=5
複製代碼 代碼如下:@echo off C: CD "C:\Program Files\WinRAR" net stop MSSQLserver winrar.exe a -ag"-[YYYY-MM-DD-HH-MM-SS]" -k -r -s -ibck -inul "E:\SQL2000備份產生的檔案.rar" "E:\SQL2000所在資料庫的Data目錄的位置\*.*" net start MSSQLserver net stop Mysql winrar.exe a