原创 多線程和多進程 - 初窺

一、說明 在平常工作中,我們使用top命令查看一臺linux服務器的cpu使用情況時,會發現某個進程的cpu使用率會超過100%,這是爲什麼? 二、舉例 實驗環境爲 CentOS7.6 + Python2.7 1. 多線程、多進程在操作系統

原创 Xming - xmanager的替代方案

一、概述 安裝某些數據庫的時候使用圖像化還是比較方便的,但是由於服務器一般不提供圖形化界面。之前一直都是使用Xmanager去導出圖形,但是Xmanager是收費的,公司不讓用,所以找了一款可以完美替代的產品Xming,本文將介紹xming

原创 Mysql - 數據庫時區是客戶端屬性還是服務端屬性

一、說明 同事問我數據庫的時區是客戶端屬性還是服務端屬性,我覺得這個問題十分有意思,之前沒怎麼留意,自己來做下實驗。 首先介紹幾個術語。 GMT(Greenwich Mean Time),格林尼治平均時間。 UTC(Coordinated

原创 sql求連續值問題

一. 找出表test1中tflag字段連續出現3次及以上爲1的行 思路:1. 對行進行編號,2. 對相鄰三行進行求和算出值作爲sumflag,3. 如果值爲3,則該行以及接下來的2行都輸出出來,通過自關聯解決。 WITH tmp AS (

原创 SQL優化-20231016

數據結構 數據庫的表和索引缺一不可 表 特點: 無序,插入速度快,查找速度慢 索引(B+Tree) 特點:有序,插入速度慢,查找速度快 查找的效率比較,如果按照讀取的數據塊來計算? 測試數據 TABLE_OWNER TABLE

原创 兩臺數據庫在數據寫入時性能的差異

介紹:我有兩臺數據庫,分別稱爲200和203,200和203的服務器性能配置相當,203的配置甚至還要好一點。都是安裝的centos7.7,oracle 19C,均已開日誌歸檔,這兩臺服務器在同一個機房,同一個網段。當我在本地使用JDBC去

原创 四捨五入 - 逼瘋全世界的開發者

一、說明 我們先來看一組例子 【PYTHON】 Python 3.6.10 (default, Apr 6 2021, 21:58:27) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux

原创 Java - JDBC批量插入原理

一、說明 在JDBC中,executeBatch這個方法可以將多條dml語句批量執行,效率比單條執行executeUpdate高很多,這是什麼原理呢?在mysql和oracle中又是如何實現批量執行的呢?本文將給大家介紹這背後的原理。 二、

原创 Java中char只有兩字節爲什麼能存中文

一、說明 在Java中默認都是用utf-8進行編碼的,所以它的每個中文字符都是三字節,但char也能存中文,不過char只有兩字節,它是怎麼存的中文呢? 二、實驗 首先我們用代碼先驗證幾個事情 a) char只有兩字節,但能存中文 b) 中

原创 Oracle和Mysql在sql上的一些差異

一、說明 平常我用到最多的數據庫是Oracle和Mysql,本文將介紹這兩個數據庫在sql上的一些差異。 測試環境數據庫的版本爲Oracle 11G,Mysql 8.0。 二、實驗 1. 字符類型大小寫 Oracle和Mysql最典型的區別

原创 Mysql - 多源複製

一、說明 我們使用mysql大多數都是一主一從或者是一主多從的架構,但在有些情況下我們希望能將多個主庫同步到一個從庫下面,本文將介紹多主一從的安裝方法以及注意事項。 實驗環境爲:3臺Centos7.6,mysql 8.0.28 commun

原创 Oracle收集統計信息的一些思考

一、問題 Oracle在收集統計信息時默認的採樣比例是DBMS_STATS.AUTO_SAMPLE_SIZE,那麼AUTO_SAMPLE_SIZE的值具體是多少? 假設採樣比例爲10%,那麼在計算單個列的distinct時與實際的差別大嗎

原创 Python - 解決賭徒問題

一、賭徒的問題 週末閒來無事,打算解決我一直思考的一個問題。假設我有100塊錢,拿去賭博,每次從1塊開始押,如果贏了,下次還是押一塊,如果輸了,下次就押兩塊,輸了就繼續翻倍,直到將手上的錢輸光爲止。如果以這種方式賭博,是否是穩賺不賠,如果要

原创 使用WinSCP密鑰文件連接sftp服務器

一、概述 有一臺linux機器,上面部署了sftp服務。然後我本機windows想通過winscp工具連接到這臺linux服務器上傳和下載文件。有兩種連接方式,第一種是通過linux的用戶名和密碼,這種連接方式比較簡單。本文將介紹第二種方式

原创 centos ftp安裝

一、安裝 本實驗的環境爲centos7.6 yum install vsftpd ftp分匿名模式和非匿名模式,匿名模式使用anonymous用戶進行上傳和下載,非匿名模式就是需要指定linux用戶名和密碼。 二、配置參數文件 以下兩種模式