原创 線上MySQL讀寫分離,出現寫完讀不到問題如何解決

大家好,我是歷小冰。 今天我們來詳細瞭解一下主從同步延遲時讀寫分離發生寫後讀不到的問題,依次講解問題出現的原因,解決策略以及 Sharding-jdbc、MyCat 和 MaxScale 等開源數據庫中間件具體的實現方案。 寫後讀不到問題

原创 爲什麼ElasticSearch比MySQL更適合全文索引

熟悉 MySQL 的同學一定都知道,MySQL 對於複雜條件查詢的支持並不好。MySQL 最多使用一個條件涉及的索引來過濾,然後剩餘的條件只能在遍歷行過程中進行內存過濾,對這個過程不瞭解的同學可以先行閱讀一下《MySQL複雜where條件分

原创 關於粉絲遷移至本公衆號的說明

感謝您繼續關注我們的公衆號。您之前關注的公衆號張狗蛋的技術之路已經將全部業務、功能轉移至本公衆號。遷移詳情如下: 舊帳號名稱:張狗蛋的技術之路 舊帳號主體:張* 新帳號名稱:程序員歷小冰 新帳號主體:德陽開發區威萊廣告設計工作室 溫馨

原创 不要一把梭了,這纔是SQL優化的正確姿勢!

點擊上方"程序員歷小冰",選擇“置頂或者星標”    你的關注意義重大! 全文內容預覽: 所以,在開始之前(MySQL 優化),咱們先來聊聊性能優化的一些原則。 性能優化原則和分類 性能優化一般可以分爲:

原创 編程小技巧之 Linux 文本處理命令(二)

合格的程序員都善於使用工具,正所謂君子性非異也,善假於物也。合理的利用 Linux 的命令行工具,可以提高我們的工作效率。 本篇文章是《Linux 文本處理命令》 續篇,在前文的基礎上再介紹幾款有用的 Linux 命令行工具和使用場景。 再

原创 MySQL 的 join 功能弱爆了?

大家好,我是歷小冰,今天我們來學習和吐槽一下 MySQL 的 Join 功能。 關於MySQL 的 join,大家一定了解過很多它的“軼事趣聞”,比如兩表 join 要小表驅動大表,阿里開發者規範禁止三張表以上的 join 操作,MySQL

原创 MySQL死鎖系列-線上死鎖問題排查思路

前言 MySQL 死鎖異常是我們經常會遇到的線上異常類別,一旦線上業務日間複雜,各種業務操作之間往往會產生鎖衝突,有些會導致死鎖異常。這種死鎖異常一般要在特定時間特定數據和特定業務操作纔會復現,並且分析解決時還需要了解 MySQL 鎖衝突相

原创 Spring Boot (一): Spring Boot starter自定義

前些日子在公司接觸了spring boot和spring cloud,有感於其大大簡化了spring的配置過程,十分方便使用者快速構建項目,而且擁有豐富的starter供開發者使用。但是由於其自動化配置的原因,往往導致出現問題,新手無法快速

原创 Spring Cloud Stream(一):Spring基礎知識

我研究和閱讀Spring Cloud Stream源碼已經有一個多月了,但是由於自己的Spring基礎知識不是很充足,所以導致很多地方都沒有融會貫通,並且相關的文章一直無從下手。於是我先整理了當時閱讀代碼時的知識點記錄,算是源碼分析之前的基

原创 MySQL複雜where條件分析

在《MySQL 常見語句加鎖分析》一文中,我們詳細講解了 SQL 語句的加鎖原理並具體分析了大部分的簡單 SQL 語句,但是實際業務場景中 SQL 語句往往及其複雜,包含多個條件,此時就需要具體分析SQL 使用到的索引,並瞭解 where

原创 100% 展示 MySQL 語句執行的神器-Optimizer Trace

在上一篇文章《用Explain 命令分析 MySQL 的 SQL 執行》中,我們講解了 Explain 命令的詳細使用。但是它只能展示 SQL 語句的執行計劃,無法展示爲什麼一些其他的執行計劃未被選擇,比如說明明有索引,但是爲什麼查詢時未使

原创 公理設計:由奇怪海戰引發的軟件設計思考

前幾天看到了一個博客,推薦了《公理設計》一書,還有其相關的文檔以及視頻。簡單瞭解了一下,增深了一些對軟件設計的理解,特此也推薦給大家。 公理設計理論將設計建立在科學公理、定理和推論的基礎上,由麻省理工學院教授 Nam. P. Suh 領導的

原创 Android Span架構介紹

 前幾天在微博上看到一個人評論Android Span機制相當強大,有必要細心研究一下,於是就google了一下,發現了一篇很好的文章Spans, a Powerful Concept.,然後以這篇文章爲基礎研究了一下Android Spa

原创 MySQL死鎖系列-常見加鎖場景分析

在上一篇文章《鎖的類型以及加鎖原理》主要總結了 MySQL 鎖的類型和模式以及基本的加鎖原理,今天我們就從原理走向實戰,分析常見 SQL 語句的加鎖場景。瞭解了這幾種場景,相信小夥伴們也能舉一反三,靈活地分析真實開發過程中遇到的加鎖問題。

原创 Java 數據持久化系列之 HikariCP (一)

在上一篇《Java 數據持久化系列之池化技術》中,我們瞭解了池化技術,並使用 Apache-common-Pool2 實現了一個簡單連接池,實驗對比了它和 HikariCP、Druid 等數據庫連接池的性能數據。在性能方面,HikariCP