原创 innodb索引使用

本文針對的是mysql的innodb數據引擎來談,innodb使用的是b+tree進行存儲,數據存放在子節點上 索引分成兩類:聚集索引、輔助索引 聚集索引:數據存放在聚集索引的葉子節點上,聚集索引依據主鍵進行順序排序。在inn

原创 草稿

成都到眉山:80公里,班車大概1個半小時(28元),高鐵大概30分鐘(30元目的地普遍是眉山東) 眉山到樂山:80公里,班車大概一小時(30元),高鐵大概19分鐘(21元,出發地在眉山東,到達樂山) 樂山到雅安:100公里,班車大概1

原创 閱讀筆記-mysql myisam和innodb的五個差異

count(*) 對於myisam引擎,會直接存儲總行數,所以比較快;但是如果一旦添加了查詢條件則統計方式和innodb相同(一行一行的掃描) 所以不管用什麼引擎都要建立好索引 全文索引 MyIsam支持,innodb在5.6後

原创 閱讀筆記-mysql innodb併發控制實現方式

參考:https://mp.weixin.qq.com/s/R3yuitWpHHGWxsUcE0qIRQ,文中例子截取自上文 redo、undo、回滾段 redo:主要解決如果每次修改數據都去磁盤上隨機讀寫,效率很低。所以改爲順序寫

原创 鏈表逆序

已知一個鏈表,將該鏈表進行逆序 整體思路:始終持有新鏈表第一個元素的索引,老鏈表的第一個元素始終頭插到新鏈表,依次遍歷老鏈表 class LinkedNode{ int value; LinkedNode next

原创 閱讀筆記-mysql 併發控制思路

參考:https://mp.weixin.qq.com/s/R3yuitWpHHGWxsUcE0qIRQ 併發控制 常見的併發控制手段有:鎖、數據多版本 鎖 普通鎖:操作數據前鎖定數據,操作完釋放,保持一致性 但是簡單鎖太粗

原创 動態規劃

將問題拆分成小問題,先解決最小的問題,然後再一步步的解決大問題 尋找大問題和小問題間的關係,通過小問題來求解大問題 動態規劃的使用條件: 子問題是離散的,不存在相互依賴的關係 存在一定的約束條件,求最值 經典題目 http

原创 linux命令

搜索文件名:find /zookeeper-3.4.13/docs -name ‘zookeeper*’;find /zookeeper-3.4.13/docs -name ‘zookeeper*.pdf’ 編輯:vi ivy.xm

原创 127. Word Ladder

思路 題來自:https://leetcode.com/problems/word-ladder/description/ 經過分析:該單詞轉換的問題可以轉變成一個圖的問題,在圖中尋找最小路徑的問題。 解題步驟: 定義一個函數

原创 CopyOnWriteArrayList源碼解析

依據jdk1.8源碼分析 新建 創建一個零長度數組 private transient volatile Object[] array;//底層數據 添加數據 先上同步鎖 對原始數組進行拷貝(淺拷貝),然後在拷貝後的數組上

原创 java8 stream

Java 8 中的 Stream 是對集合(Collection)對象功能的增強。 聚合操作、大批量數據操作 與Lambda結合,極大的提高編程效率和程序可讀性 供串行和並行兩種模式 Stream 的另外一大特點是,數據源本身可以

原创 mysql執行計劃分析

create table test1(a int,b tinyint,c varchar(20),d int); alter table test1 add primary key (a); --添加主鍵 alter table te

原创 mysql 方法和存儲過程

變量 局部變量:declare:|用戶可以使用DECLARE關鍵字來定義變量。然後可以爲變量賦值。這些變量的作用範圍是BEGIN…END程序段中 用戶變量:@變量名:eg:@a 定義用戶變量,作用域在整個鏈接 會話變量:在每次連接成

原创 網絡基礎

網絡架構 五層網絡架構:物理層、鏈路層、網絡層、傳輸層、應用層 七層網絡架構:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層 TCP/IP 網絡層的ip協議+傳輸層的tcp協議 在網絡層利用ip協議定位主機 在傳輸

原创 mysql 基礎知識

事務 innodb支持事務,在執行事務的時候會記錄事務日誌 事務的特性: 原子性:要麼都執行,要麼都不執行 一致性:保證數據業務上一致。數據庫的完整性沒有被破壞。表示寫入的資料必須完全符合所有的預設規則 持久性:一旦事務提交,對