2014年7月21日 星期一
[CrystalDiskMark]簡單易用的磁碟效能測試工具
可參考How to Test Your Storage with CrystalDiskMark,裡面有說明,我試了一下還滿容易使用的,可以玩玩看
CrystalDiskMark下載頁,記得要抓CrystalDiskMark可攜版喔,不要載錯了
2014年7月16日 星期三
[HammerDB][TPC-C]Database load testing and benchmarking tool for SQL Server
HammerDB是一個open source的多執行序效能測試工具,支援多種DB,如Oracle、SQL Server、PostgreSQL、MySQL等的DB,對應SQL Server的版本有SQL 2008及SQL 2012,最新的SQL 2014並沒有支援
它本身支援TPC-C模型,TPC(Transaction Processing Performance Council)是一系列交易處理和資料庫基準測試的規範。其中TPC-C是針對OLTP的基準測試模型,模擬零售商店下訂單的交易環境,是很熱門的基準測試模型
用HammerDB進行TPC-C測試是很簡單的,只要多試幾次就能上手喔,可參考以下說明
它本身支援TPC-C模型,TPC(Transaction Processing Performance Council)是一系列交易處理和資料庫基準測試的規範。其中TPC-C是針對OLTP的基準測試模型,模擬零售商店下訂單的交易環境,是很熱門的基準測試模型
用HammerDB進行TPC-C測試是很簡單的,只要多試幾次就能上手喔,可參考以下說明
2014年7月14日 星期一
[MySQL]CREATE FUNCTION的權限
話說同事跟我說他無法在MySQL裡建立Function,出現如下錯誤訊息
You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_routine_creators variable)
我想說已經給他該DB層級ALL的權限了,為何還要給SUPER這種伺服器層級的權限呢?
一查13.1.15 CREATE PROCEDURE and CREATE FUNCTION Syntax一節,還真的要給SUPER權限
CREATE PROCEDURE and CREATE FUNCTION require the CREATE ROUTINE privilege. They might also require theSUPER privilege, depending on the DEFINER value, as described later in this section. If binary logging is enabled,CREATE FUNCTION might require the SUPER privilege, as described in Section 20.7, “Binary Logging of Stored Programs”.2014年7月13日 星期日
2014年7月10日 星期四
2014年6月24日 星期二
[MySQL]Order By Null
第一次看到MySQL可以用Order By Null時很訝異,而且這樣用並不是要將Null排在最前還是最後,而是不需要排序的意思,但要配合Group By使用
像SQL Server不支援這樣寫;Oracle可以這樣寫Order By Null First或Order By Null Last,看是Null值要放前放後而已
MySQL的Group By有隱含排序的效果,意思就是會花額外的資源去做排序,這會有效能的疑慮,我自己測試在Group By Table1.Col, Table2.Col這種情況下,最為明顯,在執行計畫Extra欄位可以看到Using filesort,這就表示有額外去作排序喔,可參考下面的例子
像SQL Server不支援這樣寫;Oracle可以這樣寫Order By Null First或Order By Null Last,看是Null值要放前放後而已
MySQL的Group By有隱含排序的效果,意思就是會花額外的資源去做排序,這會有效能的疑慮,我自己測試在Group By Table1.Col, Table2.Col這種情況下,最為明顯,在執行計畫Extra欄位可以看到Using filesort,這就表示有額外去作排序喔,可參考下面的例子
2014年6月23日 星期一
使用sp_testlinkedserver檢查Linked Servers是否正常
有個需求要建Data Mart,然後我打算用PowerPivot讓User可以自己取得最新資料來分析,那驗證這端怎麼弄,因為有AD就簡單很多,可是來源DB在MySQL上耶,那就想辦法把Data Mart建在SQL Server上囉,因為資料量目前不過百萬筆,預估三年內應該不會破千萬,目前容量也不到1G,使用SQL 2014 Express應該足夠
因為要ETL到SQL Server上,才發現Express不支援SQL Server Agent,只好用工作排程器加SQLCMD來解決
在SQL Server上建Linked Server到MySQL很簡單,但在ETL的過程中有時會遇到錯誤
怪的是時好時壞,才想說有沒有測試Linked Server的工具呢,原來微軟早就提供sp_testlinkedserver啦,怎麼用?如下
因為要ETL到SQL Server上,才發現Express不支援SQL Server Agent,只好用工作排程器加SQLCMD來解決
在SQL Server上建Linked Server到MySQL很簡單,但在ETL的過程中有時會遇到錯誤
怪的是時好時壞,才想說有沒有測試Linked Server的工具呢,原來微軟早就提供sp_testlinkedserver啦,怎麼用?如下
BEGIN TRY
EXEC sp_testlinkedserver N'LK_MEM';
TRUNCATE TABLE [dbo].[test];
INSERT INTO [dbo].[test]
SELECT * FROM OPENQUERY(LK_MEM,'SELECT id FROM test.t1;');
END TRY
BEGIN CATCH
PRINT ERROR_NUMBER()
PRINT ERROR_MESSAGE()
END CATCH
很簡單
很簡單
訂閱:
文章 (Atom)



