Category Archives: Mood

[MySQL]FIND_IN_SET

在一些狀況下,資料庫的資料可能存成以下這樣

如果要找出有 9 這個狀態的資料,可以直接在query中使用FIND_IN_SET這個函式

效能問題 但FIND_IN_SET這樣的做法,在資料量很大的時候非常有問題。原因是使用FIND_IN_SET並不會使用到index,所以會造成full table scan 要解決這個問題必須換個方法:

1.先把category GROUP BY 出來(縮小範圍)

2.針對 GROUP BY 的結果做FIND_IN_SET(確認結果)

3.再用確認的結果去搜尋

搜尋問題 另外在進行條件搜尋時,記得使用string

如果是使用數字的話,除了搜尋不會用到index之外,出來的結果也會有問題

Continue Reading

[PHP]Sorting Arrays

PHP中,要針對array做sort非常方便,因為PHP已經提供許多相關的sort method可以使用(參考連結)

sort()、rsort():針對 value 排序

ksort()、krsort():針對 key 排序

asort()、arsort():針對 value 排序(key會跟著移動)

排序字串型態的數字(參數可參考 sort() )

Continue Reading