1. 程式人生 > >資料庫面試題(mysql,nosql)

資料庫面試題(mysql,nosql)

//2015年5月1日

一、索引

聚集索引、非聚集索引

前者B樹葉子節點包含資料,後者葉子節點包含資料地址

聚集索引優點:提升IO密集負載效能;缺點:插入代價高

索引缺點:維護索引耗時;佔用空間大

建索引須知:建在where,group by,排序等列上;不建在性別等少數類別的列上

建索引不一定加速:索引沒有查詢所需欄位

一年後DB變慢了:答題方向是cpu、磁碟、記憶體

二、為什麼有Nosql

增加欄位需要-->無格式

高併發需要-->轉向記憶體

橫向拓展需要-->以前是分庫分表

關鍵:傳統資料庫需要“關係”,所有表存在同一臺伺服器中,是一個單機系統。

而不使用關係,每條資料獨立儲存

Nosql不需要:資料庫一致性要求、讀寫的實時性、複雜sql查詢

三、Nosql的shard(一致性雜湊)

複製,橫向拓展,只支援更多的讀請求;

分片,支援更多的讀、寫請求;

如果把日期設為分片,則不能享受併發性的寫請求;

四、mongodb與redis

完全不同的東西。

mongodb:最像關係型資料庫的nosql。相比redis,只是快取了熱點資料在記憶體

redis:in-memory;豐富的資料結構;只要是為了併發性;一般作為快取

五、資料庫的引擎

六、資料庫的鎖