原创 mysql 數據庫中 count(*),count(1),count(列名)區別和效率問題

一、執行效果上 count(*)包括了所有的列,相當於行數,在統計結果的時候,不會忽略列值爲NULL count(1)包括了忽略所有列,用1代表代碼行,在統計結果的時候,不會忽略列值爲NULL count(列名)只包括列名那一列

原创 Synchronized的小總結

一、Synchronized的作用 主要是保證多線程環境下的線程安全。 二、Synchronized種類 1. 對象鎖 包含方法鎖(默認鎖對象爲this當前實力對象),方法鎖形式:synchronized修飾普通方法,鎖默認對象

原创 mysql索引最左匹配原則理解以及常見的sql使用的索引情況的實測

一、常見例子 mysql索引最左匹配原則主要是針對複合索引(聯合索引)來說的,比如你在字段 a,b,c 建立了一個聯合索引 index_abc ALTER TABLE `test` ADD INDEX `index_abc`(`

原创 springboot 、spring-data-elasticsearch、elasticserach的版本對應關係

由於工作需要,親自試驗了,elasticsearch 5.6.80, elasticsearch 6.4.2, elasticsearch 7.5.0, 三個版本的es,發現其中的差別還是很大的,比如 es5.6.80 還支持

原创 spring的五個事務隔離級別和7個事務傳播屬性

一、五大事務隔離級別 Isolation 屬性一共支持五種事務設置,具體介紹如下: 隔離級別 解釋 DEFAULT 使用數據庫設置的隔離級別 ( 默認 ) ,由 DBA 默認的設置來決定隔離級別 . READ_U

原创 ElasticSearch實戰 之 es的安裝和使用

一、前提條件環境準備 本系列教程基於springboot 2.2.2.RELEASE jdk1.8 es版本6.4.2 kibana版本6.4.2(這個也是圖形化界面和下面的各有優劣) es的圖形化界面 elasticsearc

原创 elasticsearch 實現搜索關鍵字的高亮顯示(spring-data-elasticsearch)

本文主要使用spring-data-elasticsearch 對es進行操作。並且是前後端分離的項目,所以實現搜索結果的匹配字段的高亮顯示有兩種方式, 一個是後端,一個是前端: 項目完整源碼地址:https://github.c

原创 @Transactional和synchronized能連用嗎?能保持事務的一致性嗎?

最近開發中遇到幻讀現象,大致情況如下,在一秒中多次點擊請求一個保存接口,再保存的時候會判斷數據庫是否已經存在同名的數據,由於請求過於頻繁,或者併發過大,第一次請求的數據還沒來得及提交到數據庫中,第二次請求已經發過來,這時數據庫中還

原创 mysql的 if else , case when then, IFNULL

表結構和數據 CREATE TABLE `score` ( `s_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `c

原创 springboot激活多環境配置文件

常規操作可見以下: SpringBoot 激活多環境讀取全局配置文件與配置文件目錄優先級 如果按照上述方式依舊無法啓動,可能是你的項目下有logback-spring.xml配置文件:注意將你新加的配置問價也加入到logback-

原创 git推送某一次特定的提交到遠程分支

一、 問題 由於在本地開發了多個功能,並進行了多次commit操作,最後要push的是最近的一次commit的東西,考慮到其他commit可能還有用不能直接刪掉或者回滾,如果直接進行push則將多次commit的結果進行push了