2014年12月30日 星期二

[MySQL]innodb_stats_on_metadata記得要關閉

        最近有個log DB量實在有點大,其中一個大Table每天新增三千萬筆資料,目前Table逼近100G,不得已只好拆成Partitioning Table,以方便清除歷史資料及查詢。

        以MySQL來說,Partitioning Table效能及操作方便性沒有Oracle及SQL Server來的好,分區太多會影響效能,若按天拆分,會有90個分區,因User要求保留三個月資料,後來與User商量的結果,保留近七天的熱資料在分區表上,七天以前的冷資料會每天拆成一個表,這樣要查資料都還調的到

        等我拆完表後,發現一個奇怪的現象,就是Response慢慢慢,比不拆前還慢

        show index慢
     
        查information_schema.PARTITIONS也慢
        
        連Explain也慢

        我還沒Query怎麼會慢成這樣,此時忽然想起之前有看到一篇Solving INFORMATION_SCHEMA slowness,關掉innodb_stats_on_metadata就OK囉
set global innodb_stats_on_metadata=0;
        記得My.ini也要加就是了,要不然重啟又啟用了
innodb_stats_on_metadata=0
        5.5版本預設是開啟的,用5.6就沒有這個問題, 因為5.6預設是關閉的!


        

2014年12月23日 星期二

如何有效率的瀏覽大量的部落格或網站


        話說因為工作的需要,一天要追七八十個資料庫或系統運維等相關的技術網站或部落格,看看那些前輩、達人、牛人及大師有沒有分享新的技術文章,一個一個看是十分浪費時間的,因為不是每個部落格及網站每天都有新文章的,點進去沒有新文章不就白看了,那有沒有工具可以幫你過濾呢?比如說在數十個網站中只顯示那些有新增文章但你尚未瀏覽過的,答案是有的,接下來介紹的兩個工具可以協助你喔!

        使用方式都很簡單,就先註冊一個帳號,把你想追蹤的部落格加進去就可以了,最下方提供一些介紹怎麼使用的文章供參考。那為何我要用兩個呢?因為有的部落格Feedly可加得進去,另一個工具Digg卻加不進去,而我一開始先使用Digg的,就只好兩個都用啦!最後這兩個工具除了電腦版以外也都有APP喔,很方便吧!


相關教學連結如下
Digg Reader:全新的 RSS 閱讀器來了,跟 Google Reader 說再見

2014年12月6日 星期六

[推薦][SQL Server]sp_who加強版系列

        sp_who或sp_who2系列一直以來不斷的有高人加強它衍生出很多版本,這邊紀錄一下看到覺得不錯用的,給不知道的人參考
  • sp_AskBrent 這個含有whoisactive的功能,再加上job、 wait statisticsPerfmon counters的監控,也很不錯
  • sp_whopro 這個最近看到的,對應到最新SQL 2014版本,但還沒試,感覺像whoisactive囉

2014年12月2日 星期二

[SQL Server][Oracle][MySQL][PostgreSQL] IN條件式寫法的差異

        一般找某個資料表的資料是否存在另一個資料表中,就語法上來說,可以用INNER JOIN,若條件式僅JOIN單一欄位,可以改成用IN或EXISTS;若是JOIN多個欄位,就無法用IN囉,這是在SQL Server的情況

        無意間看到在Oracle中,IN條件式的寫法裡竟然可以接受多個欄位呢,另外試了MySQL與PostgreSQL也都可以喔