什麼是建立索引?

某次和朋友描述建立索引,覺得自己講得很模糊,決定做一份筆記。

在資料庫當中

  • 為了改進查詢效率,在資料量大的時候,可以透過建立索引讓資料庫加速查詢效率。
  • 如果沒有對資料表建立索引,將會使用 Full table scan (sequential scans) 來查詢資料。

建立索引

  • 簡單來說:『 一個數據庫中的索引就是一本書的目錄。』
  • 原理來說:『 額外在硬碟建立一張索引表,當作目錄,當進行資料庫查詢時,針對查詢條件在索引表尋找相對應的索引。再透過此索引指向實體資料。假如查詢條件不在索引表裡,就會對整個表做循序查詢。』

[Rails] 搞懂 ActiveRecord::Enum

來自 Ruby china 精華帖

关于在 Rails Model 中使用 Enum (枚举) 的若干总结
在我使用 enum 時東找西找,挖掘一些坑
裡面提到枚舉這個詞,就是指 enum
看到該篇內容很精闢,提到很多想整理的重點
所以也筆記一份,至於詳情大家可以去看該篇文章

Enum 就是 Rails 用來消滅魔鬼數字的工具。

代碼中,以數字方式去表示數據狀態,導致代碼可讀性被破壞,這樣的數字被稱為『 魔鬼數字 』。
官方說明 enum:

Declare an enum attribute where the values map to integers in the database, but can be queried by name.

給數據庫中的整型字段聲明一個一一對應的 enum(枚舉) 屬性值,可以使用該字面作為查詢。字面

[Rails] 分辨 size vs length vs count

搞懂 size / length / count 之間的差別

stackoverflow

stackoverflow 上有這麼一段最佳留言
在每次遇到都很疑惑下,就實際測試並做個筆記

[Rails] Benchmark to test ruby code performance

當兩個相近的方法,該選擇哪一種效能比較好?
一般開發者在網路上查到結果就照著使用,沒有特別理解佐證的過程
所以來分享佐證的好工具:
benchmark - 為 Ruby Standard Library

Benchmark.measure

計算單獨的 ruby single block

1
2
3
4
5
def create_object(n)
n.times do
Object.new
end
end
1
2
3
require 'benchmark'

puts Benchmark.measure { create_object(10_000_000) }

output:

1
2
    user     system      total        real
1.270000 0.010000 1.280000 ( 1.272028)

[Javascript] Check if value exists in Array

一般常見的需求像是:

  1. 當 array 找到此 value 时,即停止輸入新的 value 到數組裡
  2. 當 array 包含特定 value 时,即執行某個 script
  3. 等等不勝凡舉

rails 在處理 value 是否存在 array 裡很容易,運用 include or exists
而在 javascript 是怎麼檢查 value 是否存在 array 裡?

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×