1、优先使用自增的Key作为主键
2、最左匹配原则
3、索引列不能参与计算
4、能扩展就不要新建索引
5、选择区分度高的列作索引
在實現性能測試報告聚合的時候,一開始使用的方案是通過數據庫查詢load出所有數據,然後不同維度數據不同消費者消費聚合對應的數據,這樣實現當數據量超過1000w+時下載速度無法解決 因爲使用的數據庫是TimescaleDB,可以使用
使用MyBatis查詢,返回類型爲int,但是當查詢結果爲空null,出現異常 如代碼中xml文件查詢語句 <select id="getGenerateStatus" resultType="java.lang.Integer"
當需要從數據庫查詢的表有上萬條記錄的時候,一次性查詢所有結果會變得很慢,特別是隨着數據量的增加特別明顯,這時就需要使用分頁查詢 數據準備 表名:report_sample 描述:獲取執行性能報告數據 主要字段:task_id, s
數據彙總 在使用TimescaleDB數據庫並做數據聚合時 SELECT labels, count(*) as sample_count, avg(elapsed) as elapsed_a
參考文章: https://www.jianshu.com/p/95c170ab5513 https://blog.csdn.net/weixin_39411321/article/details/90602030 MySQL除了普
[client] #客戶端設置,即客戶端默認的連接參數 port = 3306 #默認連接端口 socket = /usr/local/mysql/data/mysql.sock #用於本地連接的socket套接字 default-ch
創建MySQL容器的教程有很多,搜了一大堆都是使用-v映射自己的配置文件和數據文件,而且都是指定的原先容器內的MySQL默認數據存儲路徑,但公司一般都會將數據文件、binglog、redolog、slowlog、errlog
背景 每個公司針對數據庫的設計都有套方案。最近在巡檢表的設計,發現之前有張表漏掉了針對更新時間字段updated_at的索引,現在需要加上該索引。 我們都知道,爲表增加索引是會對錶進行加鎖處理的。稍有不慎,可能會導致表被鎖後,業務
linux mysql 每天自動備份 創建目錄 mkdir -p /data/mysqlbak/data mkdir -p /data/mysqlbak/scripts mkdir -p /data/mysqlbak/logs
在mysql安裝前如果之前安裝過mysql,就要把mysql全部都刪除。 1,下載mysql安裝包 rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noa
explain 使用explain 用於分析sql語句的性能。案例分析: mysql> show create table employees; CREATE TABLE `employees` ( `id` int(11)
應用系統分層架構,爲了加速數據訪問,會把最常訪問的數據,放在緩存(cache)裏,避免每次都去訪問數據庫。 操作系統,會有緩衝池(buffer pool)機制,避免每次訪問磁盤,以加速數據的訪問。 MySQL作爲一個存儲系統,同樣具有緩衝
問題現象 在某個工作日,突然收到線上的服務告警,有大量的請求延時產生,查看線上服務發現基本上都是獲取數據庫連接超時,而且影響時間只有3~4秒鐘,服務又恢復了正常。隔了幾分鐘之後,又出現了大量的告警,還是影響3~4秒後又恢復正常。 由於我們
執行效果 1、count(1) and count(*) 當表的數據量大些時,對錶作分析之後,使用count(1)還要比使用count()用時多了! 從執行計劃來看,count(1)和count()的效果是一樣的。但是在表做過分析之後,c
前言 網上都說學會mysql需要學會兩個部分,索引和事務,其實在最近的Mysql學習過程中,我覺得應該是有三個部分的,索引,查詢,事務。其中的查詢主要是指查詢優化即編寫高效率的SQL語句。 本文記錄一下學習MySQL的索引過程中的一些知