原创 Oracle user_tab_columns視圖查詢表結構信息

1 問題 使用 user_tab_columns 視圖查詢 Oracle 數據庫指定用戶實例下的所有表結構信息,但是發現有些表字段順序和數據庫中的表字段順序不一致,而業務需求上是要求一致的。 當前數據庫用戶的表結構是從另一機器上備份導

原创 ORA-01653: 表xx無法通過 8192 (在表空間 xx_data 中) 擴展

1 問題 向Oracle 10g數據庫中批量插入數據,當插入近2億條數據後,報出如下錯誤: ORA-01653: 表xx無法通過 8192 (在表空間 xx_data 中) 擴展。 查看錶空間,發現表空間大小已達到32G,但創建表空間

原创 Oracle 手動刪除表空間的datafile導致數據庫用戶連接不上

1 問題 因爲要向Oracle 10g數據庫中批量插入50億左右的大量數據,因爲一開始沒了解清楚Oracle的存儲機制,爲了避免每次表空間無法再自動擴展時再去添加數據文件,所以一次性的將90%多的磁盤空間都用於表空間的序列datafi

原创 MySQL索引背後的數據結構及算法原理

原文:MySQL索引背後的數據結構及算法原理 摘要 本文以MySQL數據庫爲研究對象,討論與數據庫索引相關的一些話題。特別需要說明的是,MySQL支持諸多存儲引擎,而各種存儲引擎對索引的支持也各不相同,因此MySQL數據庫支持多種索引

原创 多線程查詢MySQL大數據量單表導致OOM及線程卡死

1 需求 對數據進行遷移,需要將MySQL中的一張大表數據(億級)讀出並插入另一個數據庫。 2 問題 對數據分組後,然後開啓對應個數的線程,每個線程處理一個分組數據的任務(每個分組後的數據量從幾十萬至千萬級),最初思路是從原庫取出10

原创 MySQL 按指定分隔符截取字符串函數substring_index

1 需求 類別字段ctgr中的值是連在一起的,入庫時需要分割開來,方便查詢。數據如下所示: 2 方法 使用 MySQL 提供的字符串分割函數 SUBSTRING_INDEX 函數可以方便的實現需求。 函數語法: SUBSTRING_

原创 MySQL 通過子查詢批量插入數據

1 需求 需要將 a 表的數據插入 b 表,其中 a 表的數據很多是冗餘的,是原始的多級分類數據,b 表相當於是對 a 表的簡化,去掉冗餘的數據,兩表的 pdm 如下圖: 2 方法 將 a 表的各級編碼、名稱無重複的插入 b 表,並

原创 Echarts柱狀圖tooltip超出外層div部分被擋住

1 問題 echarts 柱狀圖tooltip顯示框超出外層div,導致部分被擋住如下所示: option = { title : { text: '世界人口總量', subtext: '數據

原创 JVM 性能監控與故障處理工具

定位系統問題的時候,需要依據系統輸出的數據信息查看具體原因,當然需要藉助相應的工具以方便處理數據信息。 這裏的數據信息包括:運行日誌、GC 日誌、異常堆棧、線程快照(threaddump/javacore 文件)、堆轉儲快照(heap

原创 阻止子元素繼承父元素點擊事件

問題描述 用戶登錄輸入對話框,有記錄最近的登錄用戶名,當輸入框獲取焦點時,彈出歷史用戶名的下拉框。 但是,有個問題:如果是選擇下拉列表的值,下拉框隱藏;不選擇下拉列表的值或者輸入其他用戶名,則下拉列表不會隱藏。 解決思路 輸入字符或者

原创 獲取滾動條當前位置

獲取滾動條當前位置 scrollTop() 方法

原创 JVM 類的裝載過程

Java 虛擬機類的轉載過程包含三個階段: (1) 加載 (2) 鏈接 驗證 準備 解析 (3)初始化 實際運行中,三個階段並非一定按順序執行,但總體來說完整的加載過程總是包含這三個階段。 1.1 加載 1)取得類的二進制字節流,

原创 Mybatis xml 中 #{var} 和 ${var} 的區別

Mybatis 提供了兩種支持動態 sql 接收參數的語法:#{var} 和 ${var},兩者的區別如下: 1)#{var} 在預處理時,會把參數部分用一個佔位符 ? 代替,變成如下的 sql 語句: select * from t

原创 內存分配與回收策略

Java 內存管理自動化的解決了兩個問題: 1) 給對象分配內存; 2) 回收內存 新建對象主要分配在新生代的 Eden 區域,如果啓動了本地線程分配緩衝,將按線程優先在 TLAB 上分配。少數情況也可能會直接分配在老年代中。分配的規則

原创 垃圾收集器參數總結

垃圾收集相關的常用參數(基於 JDK 1.7)如下表,供使用時參考: 參數 描述 UseSerialGC 虛擬機運行在Client模式下的默認值,打開後(-XX:+UseSerialGC),使用Serial + Serial Ol