日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql居左查询abcd_MySql速查手册

發(fā)布時(shí)間:2025/3/8 数据库 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql居左查询abcd_MySql速查手册 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

索引

定義

索引用來快速地尋找那些具有特定值的記錄,所有MySQL索引都以B樹的形式保存。就像是數(shù)據(jù)的目錄。

索引類型

唯一索引

主鍵索引

B-Tree

普通索引

R-Tree

聯(lián)合索引

Hash

全文索引

FullText

在mysql中fulltext索引只針對(duì)myisam生效。

符合索引

對(duì)于創(chuàng)建的多列索引(復(fù)合索引),不是使用第一部分就不會(huì)使用索引。

對(duì)于like查詢前面%通配符不會(huì)使用索引,通配符在后面會(huì)使用索引。

使用or要求所有字段都必須有索引,否則不會(huì)使用索引。

索引注意事項(xiàng)

#避免使用雙%號(hào)的查詢條件。

如a like '%123%',(如果無前置%,只有后置%,是可以用到列上的索引的)

事務(wù)隔離級(jí)別

read uncommitted 未提交讀

所有事務(wù)都可以看到?jīng)]有提交事務(wù)的數(shù)據(jù)。是所有隔離級(jí)別中最低的一種,會(huì)出現(xiàn)臟讀。

臟讀

那就是我們?cè)谝粋€(gè)事務(wù)中可以隨隨便便讀取到其他事務(wù)未提交的數(shù)據(jù),這還是比較麻煩的,我們叫臟讀。

read committed 提交讀

事務(wù)成功提交后才可以被查詢到。

不可重復(fù)讀

那就是我們?cè)跁?huì)話B同一個(gè)事務(wù)中,讀取到兩次不同的結(jié)果。這就造成了不可重復(fù)讀,就是兩次讀取的結(jié)果不同。這種現(xiàn)象叫不可重復(fù)讀。

repeatable 重復(fù)讀

同一個(gè)事務(wù)多個(gè)實(shí)例讀取數(shù)據(jù)時(shí),可能將未提交的記錄查詢出來,而出現(xiàn)幻讀。

mysql默認(rèn)級(jí)別,一個(gè)事物中數(shù)據(jù)一致。

Serializable可串行化

強(qiáng)制的進(jìn)行排序,在每個(gè)讀讀數(shù)據(jù)行上添加共享鎖。會(huì)導(dǎo)致大量超時(shí)現(xiàn)象和鎖競(jìng)爭(zhēng)。

隔離界別查詢

1.查看當(dāng)前會(huì)話隔離級(jí)別

select @@tx_isolation;

2.查看系統(tǒng)當(dāng)前隔離級(jí)別

select @@global.tx_isolation;

3.設(shè)置當(dāng)前會(huì)話隔離級(jí)別

set session transaction isolatin level repeatable read;

4.設(shè)置系統(tǒng)當(dāng)前隔離級(jí)別

set global transaction isolation level repeatable read;

數(shù)據(jù)庫(kù)鎖

鎖粒度

表級(jí)鎖

行級(jí)鎖

頁(yè)級(jí)鎖

鎖級(jí)別

共享鎖

排它鎖

加鎖方式

自動(dòng)鎖

顯示鎖

操作

DML DDL鎖

使用方式

樂觀鎖

update test_innodb set money=123,version=0+1 where version=0 and id=2;

悲觀鎖

數(shù)據(jù)類型

INT

1.BIT[M]

位字段類型,M表示每個(gè)值的位數(shù),范圍從1到64,如果M被忽略,默認(rèn)為1

2.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為4

很小的整數(shù)。帶符號(hào)的范圍是-128到127。無符號(hào)的范圍是0到255。

3. BOOL,BOOLEAN

是TINYINT(1)的同義詞。zero值被視為假。非zero值視為真。

4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為6

小的整數(shù)。帶符號(hào)的范圍是-32768到32767。無符號(hào)的范圍是0到65535。

5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為9

中等大小的整數(shù)。帶符號(hào)的范圍是-8388608到8388607。無符號(hào)的范圍是0到16777215。

6. INT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為11

普通大小的整數(shù)。帶符號(hào)的范圍是-2147483648到2147483647。無符號(hào)的范圍是0到4294967295。

7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為20

大整數(shù)。帶符號(hào)的范圍是-9223372036854775808到9223372036854775807。無符號(hào)的范圍是0到18446744073709551615。

注意:這里的M代表的并不是存儲(chǔ)在數(shù)據(jù)庫(kù)中的具體的長(zhǎng)度,以前總是會(huì)誤以為int(3)只能存儲(chǔ)3個(gè)長(zhǎng)度的數(shù)字,int(11)就會(huì)存儲(chǔ)11個(gè)長(zhǎng)度的數(shù)字,這是大錯(cuò)特錯(cuò)的。

其實(shí)當(dāng)我們?cè)谶x擇使用int的類型的時(shí)候,不論是int(3)還是int(11),它在數(shù)據(jù)庫(kù)里面存儲(chǔ)的都是4個(gè)字節(jié)的長(zhǎng)度,在使用int(3)的時(shí)候如果你輸入的是10,會(huì)默認(rèn)給你存儲(chǔ)位010,也就是說這個(gè)3代表的是默認(rèn)的一個(gè)長(zhǎng)度,當(dāng)你不足3位時(shí),會(huì)幫你不全,當(dāng)你超過3位時(shí),就沒有任何的影響。

varchar

4.0版本以下,varchar(100),指的是100字節(jié),如果存放UTF8漢字時(shí),只能存33個(gè)(每個(gè)漢字3字節(jié))

5.0版本以上,varchar(100),指的是100字符,無論存放的是數(shù)字、字母還是UTF8漢字(每個(gè)漢字3字節(jié)),都可以存放100個(gè)。

UTF8編碼中一個(gè)漢字(包括數(shù)字)占用3個(gè)字節(jié)

GBK編碼中一個(gè)漢字(包括數(shù)字)占用2個(gè)字節(jié)

時(shí)間類型

date yyyy-mm-dd 日期值

time hh:mm:ss 時(shí)間值

year yyyy 年份

datetime yyyy-mm-dd hh:mm:ss 日期

timestamp yyyymmddhhmmss 日期

Java對(duì)應(yīng)Mysql類型

Java 類型 SQL 類型

int : java.lang.Integer INTEGER

long : java.lang.Long BIGINT

short : java.lang.Short SMALLINT

float : java.lang.Float FLOAT

double : java.lang.Double DOUBLE

java.math.BigDecimal : NUMERIC

java.lang.String :VARCHAR

byte : java.lang.Byte TINYINT

boolean :java.lang.Boolean bit(值為0或1)

date : LocalDate

time : LocalTime

timestamp : LocalDateTime

常用函數(shù)

#find_in_set

like是廣泛的模糊匹配,字符串中沒有分隔符,find_in_set是精確匹配,字段值以英文”,”分隔,FIND_IN_SET(str,strlist)。 假如字符串str 在由N 子鏈組成的字符串列表strlist 中,則返回值的范圍在 1 到 N 之間

SELECT * from video where find_in_set('4',week);

常用Sql

#性能查詢,用于檢測(cè)瓶頸,查看執(zhí)行和擁堵情況

SHOW PROCESSLIST

#分析工具

explain sql

#分步查看sql的最終執(zhí)行順序

1 EXPLAIN EXTENDED

SELECT record_start_time AS 'record_time' FROM iindex.iindex_object_audience_analysis_red_black_natural_cycle WHERE record_start_time >= '2019-04-15'

AND record_start_time <= '2019-06-24' ;

2 SHOW WARNINGS;

#強(qiáng)制使用索引

mysql強(qiáng)制使用索引:force index(索引名或者主鍵PRI)

#查看session是否為自動(dòng)提交

show variables like "autocommit"

#查看當(dāng)前數(shù)據(jù)庫(kù)的字符集

show variables like '%character%'

#查詢索引

show index from 表名

#復(fù)制一張表(也可以先用mysqladmin導(dǎo)出數(shù)據(jù),再導(dǎo)入)

CREATE TABLE tbl1 LIKE tbl;

INSERT INTO tbl1 SELECT * FROM tbl;

#性能檢測(cè)

mysql > SET PROFILING = 1;

mysql > ...

mysql > SHOW PROFILES;

存儲(chǔ)引擎

InnoDB

適合場(chǎng)景

數(shù)據(jù)庫(kù)的增刪改查都相當(dāng)頻繁

可靠性要求比較高,要求支持事物

MyISAM

適合場(chǎng)景

頻繁執(zhí)行全表count語句

對(duì)數(shù)據(jù)進(jìn)行增刪改的頻率不高,查詢非常頻繁

沒有事物

知識(shí)點(diǎn)

最左匹配原則

mysql會(huì)一直向右匹配知道遇到范圍查詢(>,5 and d=4 如果建立abcd的索引,d就用不到索引。

=和in可以亂序

比如a=1 and b=2 and c=3 建立(a,b,c)索引可以任意順序,mysql的查詢優(yōu)化器會(huì)幫你優(yōu)化成索引認(rèn)識(shí)的形式

單表

#盡量控制單表數(shù)據(jù)量的大小,建議控制在500萬以內(nèi)

500萬并不是MySQL數(shù)據(jù)庫(kù)的限制,過大會(huì)造成修改表結(jié)構(gòu),備份,恢復(fù)都會(huì)有很大的問題

可以用歷史數(shù)據(jù)歸檔(應(yīng)用于日志數(shù)據(jù)),分庫(kù)分表(應(yīng)用于業(yè)務(wù)數(shù)據(jù))等手段來控制數(shù)據(jù)量大小

#限制每張表上的索引數(shù)量,建議單張表索引不超過5個(gè)

數(shù)據(jù)庫(kù)和表的字符集統(tǒng)一使用UTF8

兼容性更好,統(tǒng)一字符集可以避免由于字符集轉(zhuǎn)換產(chǎn)生的亂碼,不同的字符集進(jìn)行比較前需要進(jìn)行轉(zhuǎn)換會(huì)造成索引失效

盡量not null

MYSQL對(duì)NULL字段索引優(yōu)化不佳,增加更多的計(jì)算難度,同時(shí)在保存與處理NULL類形時(shí),也會(huì)做更多的工作,所以從效率上來說,不建議用過多的NULL,解決方法是數(shù)值弄用整數(shù)0,字符串用空來定義默認(rèn)值即可。

業(yè)務(wù)常見問題

特殊字符插入問題

Incorrect string value: '\xF0\x9F\x90\xBE' for column 'nick_name' at row 1

1 數(shù)據(jù)庫(kù)字段編碼設(shè)置utf8mb4

2 數(shù)據(jù)庫(kù)連接設(shè)置utf8

mysql.dev_ifans.url=jdbc:mysql://192.168.32.114:3306/istar_test?autoReconnect=true&characterEncoding=UTF8

3 以上沒問題檢查數(shù)據(jù)庫(kù)連接版本

mysql

mysql-connector-java

5.1.47

標(biāo)簽:lang,java,int,數(shù)據(jù)庫(kù),MySql,手冊(cè),索引,mysql,速查

來源: https://www.cnblogs.com/gustavo/p/12227263.html

總結(jié)

以上是生活随笔為你收集整理的mysql居左查询abcd_MySql速查手册的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产偷拍一区二区 | 国产专区在线 | 樱桃视频一区二区三区 | 91成人免费观看 | 国产成人超碰人人澡人人澡 | 日本在线一 | 日韩毛片 | 奇米第四色影视 | 91视频免费视频 | 瑟瑟视频在线看 | 奇米网在线观看 | 午夜久久久久久噜噜噜噜 | 国产熟女一区二区丰满 | 国产精品人人妻人人爽人人牛 | 精品久久久无码中文字幕边打电话 | 国产精品视频第一页 | 调教驯服丰满美艳麻麻在线视频 | 自拍偷拍福利 | 日韩视频免费观看高清完整版 | 黄色在线观看免费视频 | 精品乱码久久久久久中文字幕 | 女人脱裤子让男人捅 | 最新高清无码专区 | 中文字幕永久免费 | 美女又爽又黄视频 | 一级成人黄色片 | 少妇按摩一区二区三区 | 波多野结衣爱爱 | 成人av不卡 | 欧美午夜精品久久久久久人妖 | 97超碰在线免费 | 亚洲精品一二区 | 日本久草视频 | 久久久久久久久久av | 爆操巨乳美女 | 国产一区二区啪啪啪 | 久久久久亚洲精品国产 | v片在线看 | 国产成人精品一区二区三区免费 | 极品美女高潮出白浆 | 日本大尺度床戏揉捏胸 | 欧美性爱视频久久 | 国产精品久久777777毛茸茸 | 欧洲精品久久久久毛片完整版 | 日本 在线 | av黄色片 | 国产伦精品一区二区三区照片91 | 粗大挺进潘金莲身体在线播放 | 亚洲成人天堂 | 久久精品牌麻豆国产大山 | 私人影院毛片 | 免费a级片在线观看 | 蜜桃av中文字幕 | 亚洲av综合色区无码一区爱av | 一区二区影视 | 青青青草视频在线 | 亚洲尤物在线 | 日韩精品xxx | 免费不卡毛片 | 他揉捏她两乳不停呻吟动态图 | 亚洲视频一区二区三区四区 | xvideos成人免费视频 | 日韩人妻无码一区二区三区 | 精品无码久久久久久久久果冻 | 91gao| 波多野结衣视频网站 | 国产高潮在线观看 | 一区二区国产电影 | 在线能看的av网站 | 天天看天天色 | 1000部啪啪未满十八勿入超污 | 理论片琪琪午夜电影 | 国产精品99久久久久久一二区 | 91最新视频 | 毛片大片 | 日韩黄色免费电影 | 亚洲自拍偷拍色图 | 夜色视频网 | 亚洲欧美第一页 | 这里只有精品在线观看 | 日本全黄裸体片 | 欧美视频在线观看免费 | 日韩手机看片 | 精品人妻伦一二三区免费 | 91蜜桃网 | 激情999 | 国产精品va | 日本乱轮视频 | 女人性做爰69片免费看 | 香蕉久久国产 | 三级精品视频 | 香蕉网伊 | 澳门免费av | 久久夫妻视频 | 日韩成人在线播放 | 免费无码一区二区三区 | 成年人免费观看视频网站 | 超级碰碰97 | 自拍一区在线 |