MySQL EXPLAIN - 效能分析語句
有時候在開發程式會遇到一些效能上的瓶頸,可能是 SQL 語法下的不好或者是索引建立不當所造成,不過在初期開發資料量不大的時候,可能無法明顯的感覺到效能上的差異,我們可以透過 EXPLAIN 語句來分析查詢語句的效能,確保在開發初期就能使用有效率的 SQL 語句。EXPLAIN 用法如下 1EXPLAIN [EXTENDED] SELECT select_options 簡單的說,就是在你的查詢 SELECT 語法之前加上 EXPLAIN 就可以了 現在我們建立一個資料表 users 與一些測試資料如下 1234567891011121314151617CREATE TABLE `users` ( `id` int(11) NOT NULL auto_increment, `name` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `sex` tinyint(4) NOT NULL, `age` tinyint(4) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM D ...
桃園旅遊景點 - 小烏來天空步道 & 舊百吉隧道
拍攝時間:2011 年 10 月 27 日 第二天依照計畫目標為小烏來,不過昨天發現途中有經過一個叫總督府古道的景點,於是這天經過的時候順道去看了一下,我們是經過了百吉隧道才停下參觀。 舊百吉隧道 車子可以開的是新的百吉隧道,舊百吉隧道與總督府古道變成了一個景點 舊百吉隧道 其實地圖上顯示還有許多其他的步道可以逛 隧道兩端有台車,但是已經固定住了 隧道內部 從隧道外面拍攝…結果手震很厲害 還有一些其他的步道可以走 林蔭步道入口的階梯 一般從慈湖開車往復興鄉走,會經過這個景點,但是沒地方停車… 樓梯往上就是總督府古道了 我們走了一小段總督府古道 感覺路況不是很好,今天主要是去小烏來,所以只走了一下就折返了 從總督府古道往林蔭步道看過去 在百吉隧道後面有個承恩亭,我們車子停這附近 其實有機會是可以在完整的走過一遍這附近的景點,很快的我們又在上路往小烏來出發了。 小烏來天空步道 電話:03-3821835 網站:https://travel.tycg.gov.tw/zh-tw/travel/attraction/583 這天是非假日星期四,但是到達小烏來附近的時候就發現有很多的車子不 ...
SQL SERVER 如何 Truncate 具有 Foreign Key 的資料表
當想要清空資料表時,我們可以用 TRUNCATE 語句來達到,但是當該資料表有使用外部索引鍵時,會出現如下錯誤: 12無法截斷資料表'Table',因為該資料表正由FOREIGN KEY 條件約束參考Cannot truncate table 'Table' because it is being referenced by a FOREIGN KEY constraint 因為外部索引鍵的關係造成無法執行 TRUNCATE 語句,當然我們可以直接用 DELETE 語句來清空資料,不過資料表中如果具有自動增值 (Auto increase) 的識別 (Identity) 欄位,編號並不會重新計算。這時候可以用兩種方法來達成目的: 第一種: 先刪除 FK 的限制後,使用 TRUNCATE 語句,最後再將 FK 重新建立回來。 第二種: 當資料表很多又可能有很多 FK 的時候,使用第一種方式顯然是相當麻煩,這時候可以使用下面的語句達到目的 12345USE [DbName]GODELETE [Table];DBCC CHECKIDENT(' ...
桃園旅遊景點 - 東眼山國家森林遊樂區
拍攝時間:2011 年 10 月 26 日 這天開始連續請了三天假去玩,第一天來到了東眼山國家森林遊樂區,其實原本第一天是打算去小烏來然後住一晚,第二天才要去東眼山,不過不小心走錯就先到東眼山逛逛了。 地址:336桃園市復興區成福路600號 電話:03-3821506 網站:https://recreation.forest.gov.tw/forest/RA?typ_id=0200003 從竹東出發約一個半小時到兩個小時才到,到了入口處買門票,三個人 150 門票和汽車進去再加 100,不過後來發現車子能開的地方不多,所以車子停在外面用走的似乎就可以了 進來後先拍一張遠眺的景色 我們一開始進去就往化石區的方向過去,前往化石區的路 路邊種滿了這種楊梅樹,楊梅的季節6月已經過了,所以看不到結滿果實的景色 不知道叫啥的樹 也有很多筆筒樹 路途旁邊有森林步道,打算回來的時候再繞 接著到了一個涼亭,涼亭旁邊有一些柏樹 到了這涼亭才遇到別的遊客,非假日都沒甚麼人 順著懸崖邊的芒草遠眺出去 繼續往化石區前進 終於到了化石區,只有一個小亭子 從生痕化石可以推論以前這裡是在海底 亭子裡擺放了幾個 ...
台北旅遊景點 - 行天宮 & 淡水
拍攝時間:2011 年 10 月 10 日 連假三天的國慶日這天,來台北逛逛,於是到了行天宮拜拜保平安 行天宮 地址:10491臺北市中山區民權東路二段109號 電話:0225027924 網址:https://www.ht.org.tw/ 行天宮外圍有一道紅磚砌成的圍牆圍繞 行天宮的門牌信箱也有些特色 某一側的入口,上面寫的不知道是什麼字,赫赫有名的赫赫? 行天宮正門大門 大門 大門旁的石柱,中國古代的傳統石柱雕刻相當精緻,旁邊圍起來避免被破壞 側門,一般都是從兩旁的側門進出 裡面拜拜與收驚的人群 行天宮的外圍有很多賣香和供品的阿婆,我也賣了一份50元,結果問裡面的服務人員,說那些供品特定用途才需要的,包含求懷孕和祭星,而那天並沒有祭星,其實自己準備水果餅乾來就可以了。如果只是單純來拜拜,裡面也有提供線香可直接拿取,不需要另外購買。這天排隊收驚的人相當多,我也排了好久才輪到,輪到的時候要報自己的姓名給服務的阿婆,收驚前要先拜拜。 另外我也抽了籤,抽到上上籤~不過回家上網查了之後,才發現我求籤的流程錯了,所以這支籤不知道是不是神明的真正的意思了… 接著中午和朋友在附近吃一家石頭火 ...
C# 如何設定 Windows Form 顯示為全螢幕模式
在 C# 中,只要簡單設定 Form 物件的屬性就可以達到全螢幕的效果,可從設計頁或用程式碼方式去設定,而依據使用情境又可使用不同方式來實作,這邊說明兩種情境: 情境一:程式全螢幕阻擋讓程式全螢幕並且永遠在最上層,無法縮小 方法一:設計頁設定屬性於設計頁介面點選 Form 物件設定以下屬性: FormBorderStyle 為 None,去掉外框。 WindowState 為 Maximized,視窗最大化。 TopMost 為 true,最上層。 方法二:使用程式碼設定屬性於 InitializeComponent() 之後加入: 123this.FormBorderStyle = FormBorderStyle.None;this.WindowState = FormWindowState.Maximized;this.TopMost = true; 情境二:程式全螢幕可縮小讓程式全螢幕,當用切換到別的程式時,視窗縮小 屬性設定方法同上,除了 TopMost 不設定 (為 false),另外 Form 還需實作 Deactivate 事件 1234private void F ...
新竹旅遊景點 - 十七公里海岸 - 港南運河風景區
拍攝時間:2011 年 9 月 15 日 今天公司旅遊來到了港南運河風景區,從下午三點多左右開始騎腳踏車,五點多要回到原點,所以沒多少時間可以騎,也就沒拍甚麼照片。 港南運河風景區的門口 在外有港南餐廳,晚上就在這裡吃,另外旁邊有租腳踏車的地方。 大家陸續出發騎腳踏車了 剛進入有座拱橋,旁邊則有腳踏車專用道。 再開始騎腳踏車之前,先來看看海岸線 都是消波塊 港南運河風景區,顧名思義車道旁果然有條運河 不過應該沒有船會通行吧 堤防邊的造景 騎了一段路後的海岸線,已經和剛剛的消波塊不同了,變成沙灘,不過沒有人進去 車道旁的路樹長滿了果實 王金城先生殉職紀念碑,不過沒有停下來仔細看他的事蹟 騎到某個地方有個湖,記得好像是叫做金城湖,看起來有養殖 騎經過彩虹橋,總共有三座的樣子 這邊的出海口,附近都是紅樹林 彩虹大橋 很多白鷺鷥在橋下發呆,真的是發呆 附近好像有機場,時常有飛機低空飛過 另一個出海口 伴橋,攜伴騎車,已過一半,這應該是十七公里海岸線的中點地方 林蔭的車道 時間差不多,於是開始回程,沒有時間騎完,一個小時大個才騎了五、六公里,下次有機會再來完成 接著晚上就在港南餐廳吃炒米粉和 ...
ASP.NET C# Routing(IIS URL Rewrite 替代方案)
使用 apache 時可以方便的使用 mod_rewrite,來做重寫網址的功能,而到了 IIS 則可使用 IIS URL Rewrite Module 來達成,而 .NET 3.5 SP1 之後新增加了 System.Web.Routing 的組件,他可以做到和 IIS URL Rewrite Module 類似的事情,但是在背後運作的機制和使用上有不同之處,在本篇就不多做介紹。 本篇將說明如何使用 Routing 組件來達成 URL 重寫的功能,例如 Blog.aspx?User=emn178 的網址,以 emn178/Blog 的樣式呈現,此篇文章以實作 IRouteHandler 方式處理。 開發模式要在開發時套用此功能,依照以下步驟設定 專案 [加入參考] => [.NET] => [System.Web.Routing] 組件 VS2008 不會自動將模組加入 Web.config,所以需要額外加入以下內容,請找到相對應的位置加入 1234567891011121314151617181920<configuration> ...
PHP 使用者 (會員) 權限設計 - 以位元表示
網路上有人提到這個問題,整理了一下自己提出的回應寫成這篇提供參考。一般做法通常使用資料表紀錄人與權限的關聯,甚至是有群組和角色等更複雜的機制,在檢查是否具有權限時可能要 Join 許多 Table 來達成。而此篇文章則以不同的方式來設計,簡單的以位元的方式來表示使用者具有之權限,並使用 php 與 mysql 實作範例,範例不包含群組和角色等機制。 首先建立一權限資料表包含 index 欄位表示第幾個 bit,型別為 int;name 欄位表示權限的名稱,型別為 varchar,並建立一些權限,例如: Table: authorities index name 1 Authority1 2 Authority2 … … bigint 版本接著於使用者資料表包含一欄位表示具有之權限,例如 authority, 型別為 bigint unsigned,並建立一些使用者,例如: Table: users id authority 1 7 2 1 3 18446744073709551615 Case 1要檢驗使用者1是否具有 Authority ...
修正 SyntaxHighlighter 單行與卷軸顯示問題
之前在在痞客邦使用 SyntaxHighlighter 為程式碼上色這篇文章提到如何使用,但在實際使用了一段時間之後就發現到一個問題:overflow 的捲軸顯示不正常,尤其是在只有一行的程式碼時。 在不同瀏覽器下有不同的情況,例如: IE7: 高度少一行,所以只有一行又有捲軸時,區塊剩下捲軸,看不到程式碼。 IE8: 只有一行時,該有捲軸卻沒有。(早期的 Firefox 版本也有,現在已經沒有了) Chrome 和 Safari: 垂直卷軸一直存在。 總之有很多問題,在花了不少時間研究之後,終於改出了一個稍微正常的版本,在 Firefox、Chrome 和 Safari 實測看起來都正常,但是 IE8 單行仍然不是很正常,但勉強可用;IE7 單行時正常,但多行時仍然會少一行而出現垂直卷軸。 除此之外,將關於的按鈕移到左邊,不會擋住程式碼。 修改 shCoreDefault.css 的部分程式碼如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 ...








