2012年11月 的存檔

Mysql設置自增長主鍵的初始值

2012年11月23日 沒有評論

Mysql可以使用AUTO_INCREMENT來設定主鍵的值為自增長的,其默認值是1,如果想把它的初始值設置為1000,比較笨的辦法是先插入一條記錄并指定主鍵的值為999,然后delete改行記錄,例如:

insert into test(pk) values(999);
delete from test where pk = 999;

更好的方法是使用alter的方法來直接修改,例如:

alter table test AUTO_INCREMENT = 200;

mysql 語法 on duplicate key update

2012年11月23日 沒有評論

需要根據某個時間點來統計數量,例如統計每天網站的訪問量,本人以前的做法是先查詢當前有沒有記錄,如果存在就更新訪問量的值,否則就插入一條。其實在Mysql中可以一條SQL語句來搞定,只要使用ON DUPLICATE KEY UPDATE即可。例如:

insert into daypv(day,cnt) values('2012-11-22',1) 
     on duplicate key update cnt = cnt + 1;

如果insert 末尾指定了on duplicate key update,插入數據會導致一個primary key或unique索引出現重復,那么就對已經存在的行執行update操作,條件就是primary key或unique索引。

對于一次插入一條記錄沒有問題,如果一次插入多條記錄,其中某些可能會造成primary key或unique索引重復,那該如何處理呢。其實和單條處理類似,只要在后面使用values函數即可,例如:

insert into daypv(day,cnt)
	values('2012-11-22',1),
	('2012-11-23',2),
	('2012-11-24',3),
	('2012-11-25',4)
	on duplicate key update cnt = cnt + values(cnt);

上述 “cnt = cnt + values(cnt)”中第一個是cnt指更新的字段,第二個指原來的值,第三個是上面insert對應行中指定的cnt的值,例如2012-11-24記錄已經存在,cnt的原始值為5,那么執行上述sql后,2012-11-24的cnt就為8 ( 3 + 5)。

另外需要注意的是 ON DUPLICATE KEY UPDATE 是Mysql特有的,不是標準的SQL語法。

分類: MySQL 標簽:

Mysql如何修改unique key

2012年11月23日 沒有評論

mysql可以使用unique key來確保數據的準確性,unique key可以是一個字段,也可以是多個字段,對應已經存在的unique key如何修改呢?目前我使用的方法是分兩步來完成,先drop掉,然后在創建。需要注意的是drop時關鍵字是“index”,而創建時關鍵詞是“unique key”,命令如下:

alter table table_name drop index `uk_name`;

alter table table_name add unique key `new_uk_name` (`col1`,`col2`);

注意:如果表中已經存在數據,可能會創建失敗,原因是col1, col2無法滿足unique。

分類: MySQL 標簽:

單獨安裝apache的ab壓力測試工具

2012年11月23日 1 條評論

Apache服務自帶了應該用于壓力測試的工具ab(ApacheBench),對應做一些簡單的壓力測試,它完全能夠勝任。本文介紹在Centos中不安裝apache的情況下如何獲取安裝ab。

ab運行需要依賴apr-util包,安裝命令為:

yum install apr-util

下載apache的rpm包,可以直接去官網手動下載,當然也可以使用命令yumdownloader來完成,yumdownloader是yum-utils包下面的,如果沒有安裝yum-utils,則需要先安裝它。因為解壓apache的rpm包時會在當前目錄下生成etc、var和usr三個目錄,所以建議先創建一個臨時目錄,命令如下:

mkdir ~/abtmp
cd ~/abtmp

yumdownloader httpd

rpm2cpio httpd-*.rpm | cpio -idmv

上述命令成功后,可以在~/abtmp下的usr/bin中看到一個名為ab的文件,復制到系統PATH下就大功告成,例如。

cp ~/abtmp/usr/bin/ab /usr/bin

解決baidu屏蔽來自chrome的google搜索

2012年11月16日 沒有評論

今天使用goolge搜索時,點擊搜索結果到百度看到了傳說中的“中間跳轉頁”,即是出現“點擊這里繼續訪問您選擇的百度知道結果>>”提示,而且這還是針對瀏覽器的,使用chrome會這樣,而Fireofx、safari則沒有。對這種情況果斷不能忍啊,上網一找,使用chrome下的腳本擴展Tampermonkey可以輕松搞定。Tampermonkey真是一個好東西,它允許用戶自己定義JS腳本在指定的頁面上運行,也就是說通過它可以修改訪問頁面上的很多東西,比如你經常訪問的某個網站,你覺得字體太小,可以使用自己寫一個腳本來加大字號,可以理解自己寫的js是頁面自帶js一樣。下面介紹如何解決上述的問題。

1、安裝Tampermonkey。直接去Chrome Web Stroe搜索Tampermonkey,然后安裝即可。

2、安裝成功后應該在網址輸入欄后出現Tampermonkey的小圖標。點擊圖標選擇“新建腳本”,然后把下面內容復制進去保存即可。

// ==UserScript==
// @name       baidu ressafe page auto rediret
// @version    1.0
// @description  chrome瀏覽器中取消百度對Google搜索的自動跳轉
// @include    http://*baidu.com/search/ressafe.html*
// @author     YangYZ
// ==/UserScript==
(function(){
    var loc = window.location.href;
    if (loc.match("ressafe\\.html\\?q=.*&url=.*baidu.com")) {
        window.location.href = window.location.href.replace(/.*url=(.*)&*/,"$1");
    };
})();

說明:注釋中使用@xxx 后的信息會在腳本管理中顯示,其中@include對設定的網站啟用腳本,可以使用通配符。腳本內容很簡單,就是判斷當前的url是不不是“中間頁”的地址,如果是就使用 window.location.href跳轉到真正的目標地址。

mac os X 的休眠模式

2012年11月13日 沒有評論

最近發現我的MBP合上蓋子后需要一到兩分鐘的樣子才會進入到休眠狀態,所以在網上查了一下,原來mac os x有三種休眠方式。

方式1:mode 0,電腦進入休眠,但是電源或電池還是會繼續會向內存供電,內存的數據不會寫入硬盤。所以能夠快速進入休眠狀態,同樣恢復開機也很快。

方式2:mode 1,內存的數據會寫入到硬盤,然后系統停止對內存的供電,讓系統進入休眠狀態。如果內存大,寫硬盤需要時間,所以這種方式所需要的時間比較長,恢復開機時間也較長。

方式3:mode 3,此方式叫做safe sleep模式或混合休眠模式。因為他說混合了方式1和方式2。就是說內存的數據在會存在內存和硬盤兩個地方,即使通過電池供電到電池耗盡,接通電源后系統也能恢復到先前的狀態。由于要寫硬盤,所以時間也會比較長,但是恢復開機比較快。

MBP默認采用方式3,因此當內存使用8G時,休眠時間會比較長。既然提供了上述三種模式,當然也是可以修改的,但是想要修改必須在終端下使用命令來完成。

查看當前使用哪種休眠模式,其中 hibernatemode 的值對應上述的模式,
hibernatefile硬盤存儲內存鏡像的文件
pmset -g

修改休眠模式使用,modetype 就是上述的0、1、3
sudo pmset -a hibernatemode modetype 

同樣可以修改內存鏡像文件的存放路徑
sudo pmset -a hibernatefile

本文參考了 http://bisn.me/mac-os-x-hibernatemode.html,該文更加詳細的描述三種休眠模式的優缺點。

無覓相關文章插件,快速提升流量

30选5怎么中奖