原文:一道面試題: 訂單表按照訂單ID分庫分表之后,如何根據其他字段進行高性能查詢

目錄 前言 Elasticsearch構建二級索引 Elasticsearch存儲全部字段 MySQL與Elsaticsearch中數據的增刪改查如何保證事務 訂閱binlog 編程式事務 補償 使用消息隊列同步更改數據庫 弊端 前言 前幾天滴滴第三輪面試的時候, 遇到一道面試題, 大意是說現在給定一個訂單表, 是按照訂單ID來進行分庫分表的, 那么如果想要根據訂單的商戶ID來進行查詢某個商戶的 ...

2020-12-27 13:12 0 855 推薦指數:

查看詳情

訂單分庫方案

MySQL分庫,一般只能按照一個維度進行查詢.以訂單為例, 按照用戶ID mod 64 分成 64個數據庫.按照用戶的維度查詢很快,因為最終的查詢落在一台服務器上.但是如果按照商戶的維度查詢,則代價非常高.需要查詢全部64台服務器.在分頁的情況下,更加惡化.比如某個商戶查詢第10頁的數據 ...

Mon May 18 06:45:00 CST 2020 0 679
分庫面試題2

1、面試題 現在有一個未分庫的系統,未來要分庫,如何設計才可以讓系統從未分庫動態切換到分庫上? 2、面試官心里分析 你看看,你現在已經明白為啥要分庫了,你也知道常用的分庫中間件了,你也設計好你們如何分庫的方案了(水平拆分、垂直拆分、 ...

Sat Aug 04 04:05:00 CST 2018 0 912
分庫面試題5

1、面試題 你們有沒有做MySQL讀寫分離?如何實現mysql的讀寫分離?MySQL主從復制原理的是啥?如何解決mysql主從同步的延時問題? 2、面試官心里分析 這個,高並發這個階段,那肯定是需要做讀寫分離的,啥意思?因為實際上大部分的互聯網公司,一些網站,或者是 ...

Sat Aug 04 04:10:00 CST 2018 0 880
訂單分庫的思路

一、兩種方案分庫 一般業界,對訂單數據的分庫,筆者了解,有兩類思路:按照訂單號來切、按照用戶id來切。 方案一、按照訂單號來做hash分散訂單數據 把訂單號看作是一個字符串,做hash,分散到多個服務器去。 具體到哪個庫、哪個存儲數據 ...

Mon May 18 06:28:00 CST 2020 0 2121
分庫面試題1

1、面試題 為什么要分庫(設計高並發系統的時候,數據庫層面該如何設計)?用過哪些分庫中間件?不同的分庫中間件都有什么優點和缺點?你們具體是如何對數據庫如何進行垂直拆分或水平拆分的? 2、面試官心里分析 其實這塊肯定是扯到高並發了,因為分庫一定是為了支撐 ...

Sat Aug 04 04:03:00 CST 2018 0 1298
分庫面試題3

1、面試題 如何設計可以動態擴容縮容的分庫方案? 2、面試官心里分析 (1)選擇一個數據庫中間件,調研、學習、測試 (2)設計你的分庫的一個方案,你要分成多少個庫,每個庫分成多少個,3個庫每個庫4個 (3)基於選擇好的數據庫中間件,以及在測試環境建立 ...

Sat Aug 04 04:06:00 CST 2018 0 2231
分庫的幾個面試題

分庫是高並發高可用系統的一個重要的點,互聯網公司面試常常會問道。 為什么要分庫(設計高並發系統的時候,數據庫層面應該如何設計)? 首先要清楚,分庫是兩回事,是兩個獨立的概念。分庫都是為了防止數據庫服務因為同一時間的訪問量(增刪查改)過大導致宕機而設計的一種應對 ...

Sat Nov 02 08:13:00 CST 2019 0 2649
分庫面試題4

1、面試題 分庫之后id主鍵如何處理? 2、面試官心里分析 其實這是分庫之后你必然要面對的一個問題,就是id咋生成?因為要是分成多個之后,每個都是從1開始累加,那肯定不對啊,需要一個全局唯一的id來支持。所以這都是你實際生產環境中必須考慮的問題 ...

Sat Aug 04 04:09:00 CST 2018 0 3596
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM