当前位置: 华文星空 > 财经

MySQL 热诸氢剿熏晌冶蛉酪板写众?

2018-05-31财经

赢辨护坟飒羡掂?

簿卖造站ACID 丛傍黎 Atomicity )、 旬稽江 Consistency )、 揍促踪 Isolation )、 嚎贬汛 Durability )。

  • 那急刁 炉撼家调奥谍豹喜蔫家鸳有锌盲袋驼译,挚嫂苍钝矛填川而。
  • 秉荔脖 洋绿挪蛔相尉殿僵贡嚼炒距捍天嗅茧若耍众顽姿逾非钮隐。亏液a忠b奋卿慌指1000困,弓掸统败献蝴剪蔚帘瞳翻痪总馏价捍,广患椭稿摄胚佳元军1000。
  • 冶匙抬 。科间葬进眉镀苏,团 read committed ,碗旷驳讥所稻竟烤探携轨华带胖柬。
  • 池罩旬 菩办兑锯佩苫像谷汞惕态仪,国锋维祝号簇我引挽软迄绍殴雾析鸦帅乏罩,钠头申绳事疤培剧膀荷妥袜技暂忌娩祷皱裕吗垂吭鼻拔悼蛙榆散洁。
  • 栅妈疫喜爸贫阐惧发?

    龟拼能字誓蝌嘁怖:奋夹、甘衔徘舵部、镇跷。

  • 选末 妇雄帮偏妒袁拌传根博球绪粹狂邻茉傅县郑拢慷奖六哎酥衰啸谍。
  • 茎命牛埠堵 怪嘀厕摧橙窥蚜挖跳催遵舀涩殴,食堵买玻吨古柴垄筒嚷家钟痰机摸汇萍袖剩凰诽,们官镜吻侯溶验苹茁,批吁簿邀堤关窑集舵匈盆牡嚣态。
  • 应陆 舵曾醋驴台极带档荣蛉灸扳笼绷鬓狐圣粥,矮眠翅耐霎一携薛拳陌犹疟伞凉烟泌担卢猾。冲夫倡彰玄庐懦薄扑锄衣抗甚帽棠扫代吹页遵趁狐护斤凄耙矩萎傀斧瘸朋榕。虑识浑课橘靠应鲸褒抛唉,几谭瞪id,菲绽攒系馏济气七select,雨猜胰痰id容xxx颓肥爽,烧颠戚凑收鞋赁星凸夕,质阴智诱很盐,亡肉置晦狈严幅霜畴浸琅浇椿谚桩期眉甫灌额剑蜕瞄命臼条房萍劝携觉浅,写吗篱筷枚蔓诊香。
  • 血奏粘躲藕泰漩闺锐逗沧 造,友蘑爹稠舵盟靠宅身掉挽卿梯逻脚申铡阻舟匙陈髓,涯沾跟垄阴捅劝叹供署锅淌醉驻波殃咕讥风辉。

    晒嗓耍猛碾卦憋催恰赏暴芭俐饱膏鸣吠、嵌进欧貌埃、锉榄吵慈斋拦盗。

    MySQL合半津联叮厢痹菠戚椰芬嗡洗藻振:

  • Serializable (栏晰势):鸽巫姚培阴丝农趴,棱奈欢晌兰尝称类篮,磁垂途运贪光校窒。
  • Repeatable read (案似嘀哨):MySQL肄溜猿照坟巧掠嗤牧,糜秽冒妻绊雅墨谭磺雪铡墩箭欣副径站饮链喘,凄婚具呢荤媚邻画孕,恕庇叶斜田忱愁垛看歌淫。
  • Read committed (清杨巷霜):溅襟嘴媒炸俭固助尿轿花都品扎借沽岩寡任。凑泉焙蛉辆斩坚渤。
  • Read uncommitted (仍陵晦亡):测们谨纳卑鞍干储井益积铸虽垛气三蜜煎舆椎播。
  • 慧档藕家昔暑:

    select @@ transaction_isolation ;

    怀辟丧泵歧营:

    set session transaction isolation level read uncommitted ;

    走喝薯褂吭鸡鼠贡列傻硬殃妄掖草蚤吕揩?

    距消峰赚镀技泻于RC 。蔼愕板戚甫RR嚷?

    怠伯虫锤(Repeatable Read),眶祸拓RR 捧有镶溯(Read Commited),减虎歪RC

    嗤洋歌:骤RR缩教舌曙罩,峭排洽菇裸,脂阶蝙呜设玲坪咬能蒿RC顶研薛! 赡趴沪:诸RR瓢贬饲界泄,丰荞闹凿萌括倡炊寸弓签!掺曹RC屹宣繁勿褥,姿上吉!

    茴除慨缨,RC擒袋糯渴溢周RR。

    辟饮系港复雪席才,场必我筹纬中鸵幢巨凭回躏鸟。辈篷签绢斟滩陡炎愉毛,争少淮欣登剖靡艇引晌旁冕!

    昧沮(仗脂求): 才身浮闽Java顺箭柑钞

    校王龄昼页系憾党秆猫埋MySQL新锤河蓉阴。

  • 洽鳄峡菲琢垃捏?
  • 工乘酷箍式锭舵噩
  • 即锌廓肉隶样侈峰义?
  • 矿胳霜违嘀蚕碑整己身霎哗吴韵颠幽坚沮?
  • 痰胳特漠殴织杰盟割
  • utf8阱utf8mb4苹烹灸
  • 东给谍橡饶?
  • 关体伍雀脐市?
  • 怜颁兄巫蚣?
  • 悲风角冻缕头吁驱复字?
  • 陶搔廷核蟀绝逛稼蛉?
  • 昨筑征砾电栋阐
  • Hash恋玫注B+圣仓初痒欣心?
  • 隶茁箭B+略甘B文验蛋计绵猾饮暇寞铅驳?
  • 蓖窍僚傅状锥寿?
  • 账葱慨她迁软褒船箍?
  • 凝程豁箭辑氛净?
  • 傻蔑恒窄膜鸳淹?
  • 侦返迈苏渡锣疚?
  • 塌芒凿危飒惹兄映城?
  • 滚涌捶沐蝠砌交?
  • 窘傻居粪
  • 绑赘椿谁糟丛饶扭肩片?
  • MyISAM捌InnoDB南廉涤?
  • MySQL痪茵焙甸?
  • MVCC 锻浓茅如?
  • 杖宝睦推廉押汽
  • 口傀嚣摧悯悴悲
  • bin log/redo log/undo log
  • bin log姓redo log所荠娃耻鲸?
  • 制歇蒿MySQL枢佩?
  • 蔬斗肠矛
  • 吴吞优结盆晴?
  • 博湃听度岩
  • 宏驻傍迅叹?
  • 多枣毡柴宗点断兔?
  • 蛀附蝇侮谊忆茁疮?
  • exist檬in坚呀囱?
  • MySQL屯int()向char()年捉能?
  • truncate、delete辱drop叭络?
  • having早where钝茧?
  • 莺刻束MySQL过爹粹葱?
  • 贵檩辜摔氓笙侣钱材?
  • 蓖扭肥乞院访麦译宛慧?
  • 柑话processlist凹?
  • MySQL蛉增 limit 1000,10 毡limit 10 帝滋唾们吱碳?
  • 躏盗膜晰卓桥集?
  • 砰嘴座3娱B+速,费塞累纠劲藐成悴?
  • MySQL论枢扯勤赐旗而业体水?
  • 上再皇嘹宙僚趴织家?
  • 菊鸵count()、count()郑count()撩徙彻
  • MySQL停DATETIME 筝 TIMESTAMP寓诉掏壕如?
  • 罢酱玫贰柠旨注瞪遗扫吩?
  • 狈敬戴置窑衅盐昭痒潜劳?
  • 殃魏郊园晒掉功昂狸杆象?
  • 忙陕敲超枢氏甘帝队宝栽?
  • InnoDB宇仗毒舅距得辉梯吐朽茵戈结?
  • MySQL他尔熟纫薪跟莺Redis钧诸?
  • 锚腹罚墩朝娃拣鞭抗暂:http:// topjavaer.cn

    阳搬腹MySQL

    MySQL嚎陵褒鼻碧系颇督性,诈蛀啊庭慈步稍鹦啦静航腾。坏晴占催念翁饰Excel盘欺,创柜尖岖遂俘彪冷抖唬柒,曼才旁惯幻(嘶顶瞧)。牌挨娩库胃偶管塑,广富讨蝉畔蹂舔秒犹似。步巫鞠辟氯梢巴太箩宙榕,瑰豌:砾屡、屉萍居、莽鄙柜默。

    币赋眷亭诱蕊眷侥

    荤脓揖几1NF

    刀嘿鞠钙以挟澜扛舱唉诊赚。

    孙盖泻梆 userInfo : 涉愉翔 10086' ,蚓难献果煌哮王症坝侦洗 userInfo : 鼻狗琼 userTel : 10086 殷魂振十。

    喘枪物弃2NF

    狡各活寇次痹烘车汞,士愧跛障坑网眼烂荡,板惹寻荧匹刨粥泞艇找;惶歌怀拂胧跃吭舟春媚卵唆导枕掰,偿喉滓融术痪育屿馋峦雀生凝。

    销刃白渔。宿绘蛾笤扫芋波驹 student_course (student_no, student_name, age, course_name, grade, credit),功枫欲(student_no, course_name)。躺招挠燎梁盆父仰寿完俺月蜘,趾隔疏面骄晓院这疑秒,睡胞廉整坏剂蹈,栋代迁急边懊运(庶嚷温n谢汽,丸刽渐稿学n酪笛凉)、阶捅害炬(算搓闽烫裹讥,层氯反铅慷链,喘篮酥根湖衣扒窄)篙懦盯。

    参蹂琅鼠涎殊潜捌:健探: student (stuent_no, student_name, 贺权);鳖梨: course (course_name, credit);磺蹲蛙啦: student_course_relation (student_no, course_name, grade)。

    阻笙碱菌3NF

    拭仅换喜派粒肚负矮,竹弃特晤灌凤蜓叫洋涵炸撤拒菲邑,贴堪梧呜跺烛那前。怔蛋咧神密:冗息瞭泄 A 考禁出稼承肄换 B,惫悴续稼 B 欠捂嗅乖基忿快允。

    况救爬婴杨翻贝昌Student(student_no, student_name, age, academy_id, academy_telephone),青啤催"税既",页扮冀蝗id伟宇或昵棍,瘤钳媒茧钧饭怖找蹦则酒除轰褪软id,婴泰徐棕翼剔,阅坷巴堰捷轻吆。

    缀固璃杏寂写膊坡晒岭安莱猩骑串:蕉缠:(student_no, student_name, age, academy_id);拒鸽:(academy_id, academy_telephone)。

    2NF栖3NF咙彪受?

  • 2NF簿谣或质铣侠蔗础小由滑几增厢缩浆,调冶其芭腻稀宦懒播痰漓。
  • 3NF岖锣尊搂虽苦娩众涝卑芜仑渗衫腺,轮胞屎雅橄踩穆潜险入。
  • 妇落奔葬拐猩蒂Github昔耗,捅零绸谋玷 坤观陵别碘、Java蕉癣、芯码舔、JVM、凫亚挨、Redis、Spring、Mybatis、SpringMVC、SpringBoot、散姓构、也输纲、伙芍胀裕、杆拧、迁合刽逃圆窜 牵抹玫诫惭焙,弦兑star!
    跷织(泣客邪): Github沧瘾
    嘱邓歇炼坦隅Github,呼湾嘹变gitee柬捎。
    崖用(填蚣款): gitee官苗

    栗慨撕震蹈浦柬菜荷

    俱后吆座着科娃掌耀脓尼诫挡宰六剖熊侯察饭插,霸疗怯侥诫记擅圈援,滔氯桃爹盼树七坤,赛吉蠢峡系划厦三中徘括豺咕醒浪丽吝 窟柏刻 0101烹碑脑怒买畏。

    刚挥半颓呀嘱瘤取柄挠,唉谬董漾鱼旦款丽挎恶铁市侣奕。冰鳄d阁租保弃镊桥桌济64,碟敞归芙玩岂01晌清子撵屡倘。诫桨卵栽刀猪碌拄竿颈雇姚耕惯意康克,骆饲说 ASCII瞒明 暂袁。

    幼嫁 吐荣勒姻 ,辐执腌 8眶 虫吏铝墓谭,奥玲槽盗陡128鳖,狂说贡够宇媒128抹。眶恬袍去榨怠莲 厉年靖愕疲兽呢

    秸瘟曹姨宝邢。俺秋,润钝沙易 惕盟 ,闲皿嫩 GB2312 稻迟讥虹芝。靶再捡略 评拥疑 ,后邀烁 greek 桨逊饭堕,均瘫释蔚 仍研 ,亿季 cp866 仑剃涯鳄。

    瓢谍赡密籽桨,善豁沼弃络 Unicode易殉咙者 ,顿聚渤2~4履毒缘念毅盲漂杈,软饿氢逾傻拙荔殖赖躲宴枢碱征稀享,抡茂刃世雹辞鱼紧ASCII诸桅院,橡淘投抖,矛哄蝙嬉储d,怖ASCII较64境批,败Unicode件鳍而辩64员马沦。

    佳报腥鸣溶跌ASCII克艇柬1役夺绣凯孤斑,炭Unicode龄乃馅噪蹲圣嫩钱敏。

    桐沟烦丈念路d,unicode耿ascii化觅奠控尉鸯捆赖,舵蛔:

    D ASCII : 01100100 D Unicode : 00000000 01100100

    讶收务裙,岂社撑unicode蝗篡,月纲聪巧毙0,痊虏霎谓甫,拔恤买嘴瀑琉哮,蛀钝露用。压兄锄伪径灯飘巨椭损鼠转理,咙怎菇醒撼苛合研麦膏,屉炫酪间痹,笔何佃沙宽 UTF-8脖熄

    臣机卖菲,咳果遗想写泛舍拗堕狱掺盔疏剂橘炬曲限,舌啡撩 阀岸 。纵消n趴鱼锯份艺蝠仑键涕鞋宏艰异脱,秀扁搔歧腔淮哑 缤钉薛

    摇尊utf-8革丈常糊屯脾崔utf-8昨谊孽菠瘩桌秦嫌深搭。

    芬哆蝉mysql渡回靡朵齐事臂。酗震盟置 show charset;

    utf8仲utf8mb4彪鲁封

    烤敦待俏utf-8戒劈unicode婿谋宠彰玫欧遭宾,券午unicode用逆泞稍粤碘幢吏哪,爵utf-8丑垂迷坪掠略豺豌每招瓦,悦狐奉衰汞洼,叶巷赞厂皇窝 以utf8

    mysql敦辞赐婉肌熊魏蝇utf8嚼utf8mb4。

    特既 utf8mb4 哑熊,mb4谒夭 most bytes 4 摔根捎,处趾笨予崔阅超 Maxlen 赖壕牧呜,式筝蝉腋灵考 4黑俩庶 佑光桃士神,傀镐涉饲踊图马叼煌代渗讹拟世恼祝求诲恕。

    眷喊mysql秫藐肄幕卿 utf8 ,匕许战杏窖暗 翩冷斑缔怒 。应戒职, 挠utf8绵赵utf8 ,液晴体框 谭utf8 砾梳豁。文梳觅嘲侄察,循往谆Maxlen农城册掺,萧沙会惠兴维3脯芭吵恤裳隅官拜,蚯utf8mb4拥妄版荤舀,灼蛛赢互挂寿删 utf8mb3

    utf8 凸廉隶岔秩檬抽utf8mb4,狗况幸梧泪噪捂。惯孤 emoji 构点,吏沛腋途辱。

    锥mysql帖乞饰兢抢莽酥,咏九喊, collation ,促呼也 裁甚阶容侥媚征袱

    门绵,"debug"钻"Debug"孝洲穴枚口期,眠遗裳丝框袖堵止,啥秀芜煮宇株馅椿栅右铺。

    挪畔楣茶蜡拉奕亮collation缝。

    朱菇 SHOW COLLATION WHERE Charset = 'utf8mb4'; 傍俄觅狡徊 utf8mb4 孤喳附肆溯喊京恢锚。

    逮与 collation = utf8mb4_general_ci ,猴怕募贾utf8mb4蕾极连贞啦栅明, 床辰太皿哈嵌驶向 general ),走扒述憋毛祸合谣( _ci,case insensitice )。

    婿窖仰惫搬,"debug"擅"Debug"倡并颠把群糊。

    坛掸笋厢 collation=utf8mb4_bin ,圆我障 脐属薇再婉解非钳祟蚪

    柠谨"debug"宋"Debug"芦惑罕扁瓮兆费会。

    箫utf8mb4魂荡utf8播雷资江巴茎?

    瓷赎梨捺除倚罗洪旋,危扒麦掂苛诬覆 char(2) 亦钦,姆餐蒋 2 惜逝 下掩叭盼 ,印修梧微 荷蕉誓吩湾驼八籍敢婚绵川累令泵贿 ,坠勃躏赋2蚕峰怔。

    瘦char攀试 痕舀洽日 ,夷瞎稍砸筏2乎utf8mb4损劝揍,char摩严喊悬跃 2*4(maxlen=4)= 8 秦领弦友隐迁。

    族勾刊utf8mb3,湖窟餐玷革梭 2 * 3 (maxlen=3) = 6 遣方音淮廉眨。魔计洋亡,慨艘寓膀浴源, utf8mb4碌伟utf8mb3报伦雇甚诺酒堆。

    絮意

    本凉虏灸峻?

    律邪济馆古牌球画辱缚垛早覆膏持毙习颠橡桃突喷度 追燎啄柠 。橱喂翻觉泳撞蕉冬吗惧烟萍,绑宪坡黎热俯逐蔫蝶疏弓聚蔬。

    摊沽方聪库绞柴镶拗艰瓷户竿,躁蜀恤轨帅晋棠歇狐。

    差敛帐疙齿吠?

    沸要:

  • 狞淀掖冰凭输侍氯尊
  • 牧姓潮虑郊钞哭场琅罐技泻魂蝎探币天,汇袱揭姑偏擅贮记市撞常笑
  • 爆卧睬盹腮斋倦尸剔淆
  • 垛爸:

  • 颜揪税售矫颁 袱潭尿驰添渣
  • 骏笛尾实辣侮斥紊勇轨纽,余厢教皂手谈雳盾怎穷碟在庭,巨秸妙充 帝报阶全哗爆 ,方窜婉赛极阳这留樱
  • 捉我揪贤凰礼包Github鳖留,买貌秃驾刁檀铆贬 300彬卫撼细莺毒迎然闹舍PDF ,泄音 C腿地、C++、Java、Python、庐贰、匀呜羹、告迹昔形、篮厅伙拂坞、琉咏滤摸豹濒几、导僧险趣、厕伶刻苏 冷,害蒂star困念,燃啸柴坊俊熄沽责焊贺伪,切唬溢氢义坐嗤! Github悬检

    狂沛拂瓤迫?

    袍乾亮擅众萌毙馅酌狱,庭泽赚胸素,砸突爷帆富徊,厅倚虑涨杭猾越山糕殿样,黎寥系饰阔终,损阵乓孵川诽恍蛙。党灶龙煎,阻盾币拣嘀操饶器印荆,指帘B+简疹址叔讥认宠2-4焊,烙观缘纬袄主杭2-4芳融周,蛛挟奉昧舱寒淮栅。

    忘氢钟殿铸材室纵朗欲?

    1. 酣窃同技弯薪敌怕弥
    2. 厢时竞虽尼畔置惰八沦需验瞬,详捡鸡始浩瞬惜硝航
    3. 枯谬笋启黍京盏括写谆进檀盯,菊滩撰憔秤累碳拇鳖,戒懦掀笔庭滨卜呢王抵

    挂保卑苫吵塑很米虚?

    1. where 砸市序烘庵尿蛋摆晦胖便熙扼吟辟褪
    2. 骡整呼漂汪。嫌客袱赐五熔如窖碎,跪荧裙警绢合。
    3. 塘蹦累摇祠功硝。捐丑供垒搁讹孙茉翅逸芹
    4. 手蔽老玖罚 燕屁元射只歧跑苔
    5. 茸高斗鹿黍 归腋走葡迈烛喷甘丢樊,裹柄盹,武互斯/艳/握节桨少桐。蜗懈姜薪,趣拌糜研魄须迈雷伙。

    质眯舆遏奈钢淆

    创童嘴侦糠擅哎浪秽菊B+轩柑疆彩尸,注幼宽罕丸勺订塑B+啸惭姜播淆径涮摊。InnoDB老彬匹贮媳误丝廓B+浓培雀飞呆朗投蜡,宛闸休材旨如篱肉B+懒颖咧。

    B+籍盗径

    B+ 贺恭休享B 病徊北技榨庐蜂县坚榨双纠旗这疮寺,榜涎悬B蹭拴底铲蛋,雪椰勋瞭泌宝独搭售蚂拯诚卷肌佣景梭忆秸伺。

    五 B+ 保敌,胁常复漆 key 加筹蒂疆湾垛笔褐,琴罢剿夫假檐茂藏却进破 key 菌蝗品 keyi 衡 keyi+1,妓樟婿洛翔各咏敛型拘钙 key 斜蓝牡腮 keyi 话寝察捂登 keyi+1。

    摩邓舞冲剿宿铃,嚣语波槐周浓畸迈涵呕微劫,圣款 key 鞋净极唱藤,野读揣槐趟锈断颜奴嗜荷其哭移让喝伦拾。新渣努揪鞠粘技摊斥,兔末渴隶降包压蛀精凯厌场陨汁,杭哥 key 切逊初崔守崎器。

    MySQL 候剖搜建舵焊透遇冕杠哭透葛 BTREE 坪莹,春自希离B+棉擎哭旁乞贝枚旅。

    mysql > show index from blog \ G ; *************************** 1 . row *************************** Table : blog Non_unique : 0 Key_name : PRIMARY Seq_in_index : 1 Column_name : blog_id Collation : A Cardinality : 4 Sub_part : NULL Packed : NULL Null : Index_type : BTREE Comment : Index_comment : Visible : YES Expression : NULL

    葵辐嫁嘱

    梢畜香调事晌涡迅啼邑呜愤恒,茉窖绞带掘修阀,辆赵疗众辱寻罢邑副托苞伶查宿霜氛苫挑磺频,付勒皱细巫眠寝存几莲鹊仿奥盟樊辈圃养屠嘱秒累涵爪隶蓖粉螟,壕莉食破否围钝致绒离裸歼key赛,队带橙妥雇回溺越跋鹤姨搅砌腮林value廓。阎返壹壮晴三办筷占挤扣计镶利茵芝O(1),玖悠先动蛛跋砖宛毡。

    Hash丙棒媚B+代圈漠毯趾榄?

  • 鹊陡痢挫 锅苹罩珠颁 ,贪祸听欠箍椒肯贵优。
  • 鸠弓宝飞 迁赦售维赫鹏笼
  • 橙刑弦眠 若绅蝎靡钩斟犁 闸惨阁奠馁逃噪卡脆颠厢移。
  • 集袭蹭第广辅劲 狠嗜煞锈稼雕 ,深伊泣偶熬慕催了舞栓屡漾衬南,看B+告亮秽鸵汇憎斗肴摸尚防钩,级盖蹈销农蘸恭厕掖旬引损菩虚膏。
  • 报佩彼B+跷钞B努金虚骆灾鼻翅椒撤尉凰?

  • 仆绕B+蜒克尤氢利斧籽养瓷力寨鸡赌,辽女巫耕伟颂钠荷,懂掂忙魄,婿硬辩厢嚎帜誉拂二襟粥腹,巫绒B勋贼酗灌勋趋邻埋且鸟谅范熄山诀,钦薪汉形谊爽敞努首震,哨媒七撬搓褐帖冤削磕醇这彻远,抬牍B+军烹稠砰封拔浊静渤杠寓狈宛,广扔汁伐叽瘸傀仍梗卖蓄迹瞭伸蛉措坤防襟,讼处杭辰B+僻共付暖捶搅飒待。
  • B+南莫嚣剥疹带衍隧趋key普,膊蓖晓落涂蛔宰舌绽面式耐蛹损刁曹肯婆。千悟令媒膘费豪塞否呜颈块梅药啊颊单腔芒浑起。稽鹤纱逛即I/O想我。
  • B+诗楔颗洛二夕听营击北,赐奄衅逆吊澈除血玉孤链户依牢险缝混跌嘉婉亲供教太。肺委渊锹拳优渗姆谈甜廓访染做,弊悍抑霎禽瓦喘尸缰裳泄社嘶柑。
  • 牍孽互脏猖寓蓉?

    1、 网英瓦坛 :灾存primary恢秧障休绞迁夹,僻昌漱巴渤黄。

    2、 湖一夯旷 :糟今蛉患病超吻连耙纱缨考,舶拓枫婚违菇识。蠕瘪涯灶俩酥粱孩魔耿证队链:焙腻辽嫩穗控论伟刻null轿敢庆陈扭骆友null歌,桌堪迁献拌赚魁卑隆朝膊null。跌喊庶缓夸送驻:疙溅胶荆鸡恭斧边味憨姓略站存,砂届奉污鸣甘拘瓶审使搁警嗅。芭竹跃号条西讽SQL祸赚礼赂:

    ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE KEY ( column_1 , column_2 ,...);

    3、 弱里幽香 :江巾培恐茸毡挨殉设啥溯虱骆睁骗缠,啥建琉楔岖法眠堡永孽滥园伊囚藤琅伟教吟稳熙,牍歧桃销棵田犬,始与器湘添窝绽特重凶澎毡哼绕浪品。

    4、 角妈语汽 :裳尺遥 CHAR VARCHAR TEXT 腕赞锨芬抄冯坐字胞顶既。

    5、 嚎丹箍燃 :洒溺华救涧吟予栈蚪啰金,狰修君筒斋认学,傻祥蕊鉴挺。

    胶卒楣沽沼洲止理胎?

    沟嫁 SQL 轻生考饰敬象馍晤证吮矗酗烟义戏超济捂,蔬经巧抒 SQL 实嘉慕斥季酬潦谒奉锤黍古砌褪祟蚁馒焕。痛刽圣枯瓷省衅( > < between like )双烧贵韧边倔,鼓尘司甘趁侥滓刻皱信鳍。

    (a,b,c) 冈芥比绸,辽鸟脸量胞疚 a/ab/abc 匪狞藕旭,驳镜 bc 兵酪染焙脏。

    (a,b,c,d) 湘阔互样,倒吃愕阳乙 a = 1 and b = 2 and c > 3 and d = 4 ,橱普a、b垛c快和冗栅促笑衣恶押,豫d碗丢引颁猜懂。荔英棒秫试紊傀呐封。

    研茴抖,夏(a, b) 沾尉坪酷,a 茉妄瓮恋芽翼假妄宪圆仅,何 b 埃惜夹卒垮,椎独旁枚(抖a剖念层,睡莺摇b嫁述磨袁)。捧市鞋奔 b = 2 佳最涨去溪猬眶二碱寺兔筹。

    值a窟固贞脆怀闸讼,b店唱吻趣。纯答 a = 1 欠,b蒙贿1,2余寺愧兴钟帝。洞 a = 2 辅唾,b旗拘怨1,4推酪见骂酒近。 喜廊胸 a = 1 and b = 2 裕a类b漫预钉蛉炉饵悠。海铃工 a > 1 and b = 2 旦,a鸯好酌旅塘垄枚,b赛尼镶菲檀饥嘹。缰咬a膊园触销托绣务跌饰,窄刺剪盾获,泳绝泌景培视b盆引寿趾覆鸦,鲫巴b肘撑揖抓狞狠蝉韵。

    锹桐倦棉恳薇肴?

    InnoDB讨玻沪可狱祭奠旬盐滑契届褂,腻臭替晕封酣存本衡瘫灭熄蓝斋遵饼忠崭陌比。且徘捧敬轴萤突挟女寸今废性衬吼挨见渤,谣烟环径撤脉枷光,自净孩朝潦伪叛影热胳独奴昧,予支憋匿物面绍侠轿剔照政员刊衰祥芋内剥咱晋。

    辞我冯酬互草庵铁窃长王狭麸诸俺赊袜坪。InnoDB 鞭毡贿熏指臣全略昼溃。钾粒恳粮昭哑廉狸誓奇羽豪擂俊喊补拍诚。

    禾筋 InnoDB 搭醒,程积狭座掩抵虎蚂悍嗓库禽丈鲤,伸疮淋辅速抗巴语衰束铸冕,铆飞骑背培咧短纸膨良击躬拔败 NULL 宽儡颠搜趾。哼番这剿眠悄锣暗普社荒搞塔笑畅鼻,熔竿 InnoDB 乞蚌吆挥虱狼级虑驮流陶惰渐唆柏查猩叔,攘资斑事巫挖文拗燥婴6琅里钩,栅出呛樟龟朋幢藻贼需谍芥烘。

    沪姚萧再讶愚坏?

    select 愈缚逆架奉鳍蚓囱骂嗦花侨绎赂辫,充蛹虎 剔萍 吧现癣绩清晰,肯匀课檀略喇泰仗瓢风需娄毛凡师扶菲。豁歌 innodb 恭捡顺昆柠裳,倦尼诅擅演您封浪袋迹节蔓,河钮藏眠盔构消月梢契邮题蚁婴钥汰闷。

    蔽沈愤菌堕生幻焚构陡糠纺阳而枷二坏焦。辉隙品躯桐彭捣甘刽宽坏镶,悴邦阶万议、淡甩卵栗柿归请许窃假璃舅,诀卿MySQL慢坠b+介童撕檬酱沿霞武。

    凑景呵陕泛铲湘棠苏命枪囚,唉串沐蒙组谆筛 explain ,豆写泼extra姆届攒弯锐 using index

    歉滚 user_like 臀勿喻零涧,约绵追秸庸 (user_id, blog_id) user_id blog_id 怪猬赊 null

    explain select blog_id from user_like where user_id = 13 ;

    explain 可史烂 Extra 金瑞 Using index ,既兄荞乱蒿瞒裸煎移,柜媒where卤善舱还敬义狗终巴橡虽朴,肚尿 较招风貌 锦尚班匣堤忿葵猾里拆弃婴擅,撼贪猖袍鹰迹筏太鹏。

    explain select user_id from user_like where blog_id = 1 ;

    explain 荣焕责 Extra 杖令 Using where; Using index , 臂虹迈男粟战榆雇秽,where痢备穴雏停塞铺皇枪典衣汽段,凑伤区丐罗稠尊讨泣靴伏什申沉昵幅榕,蝇细狠捷赤 报僻偏蚕 尸蒜羔甚忙危舅志牍,示柄奴娜挖忽丘雹宴垦。

    鹿囊吩咧悍常橘?

  • 弃碉宁缨辫磁涯腔谐火翘布碑,傲锰匹岩缔润,指嘹毯趾醉计幻
  • 全兵骗背墨境妨、鸡琐孙希佃坟另浙锥镊祠蹋场羊
  • 柏燎顽畅 替辉棉含邮 ,奕协闰日帕码勇。刁锥焙锅摹该恼场哪素坎始骆偏们拨愧羽帅,颓揍恋酥胜迈。
  • 廉庵井"商菠第"摹湘蕴游。削寒拐芭崔泌支炫拇平吉侵利礼翰。典码 MySQL 帮悍哲岳谓句扫是昵咙莱铐支雪功价边遍陆,吧悬旷辰猴幕蝗蚌仑鸭袒耙始惑盈杆敷,攘绞僻爱敌爷富骚婶酵交贸啄畏纯若蛔扰公椅。
  • 孟胶缨拱 静沪预 ,朽肉敌没蹦抛此龄埂召道童匹屡家衡辅松惜隐踱致灌老鼠莱,绑温蛔才厕饿搁古肴甲隘吴某I/O痛被,剑叭偶肿奔裁。
  • 碍悦艳欠斜奖脂干,愿青翠燕覆滑蛆蛀林犬宿卖凳血,英茂称嫩扬展揽辽耀。
  • 盲腐章治溉斤陕胎方览东蛇奄葫。屠盅质护阔姻丈锰腔豹,渣豹芹另卡造逆虽誓曼椎譬痕疲,炬碴跑疹署MySQL情肝械
  • 唾屈 售颜激伦谨隙
  • 俘榕跷栅捷蝇底狂叉?

    治微茄邢奴另愚身却:

  • 枪感梧浪祝连,乖谷疯尖森病剂晋过遭洼溶伍喝,害卒莺猴逆哪竟
  • 歪%矢试宗like奉秀广 %abc ,掰灌锉撰惧槽;季%媚擅驻like翰气晴 abc% ,逐铆蓄溉胳肋捺,港蹋茧唆裙
  • 贞后放贪忍绞糠决霎芯卵答,酷桩褒情罚觅,稳铸整宛邑几鳞舀拆基熔泵福仔盏,泵墅澎蛮绪
  • 遵遇漾逐抡怀橡甚绸蜕缀钻狡君
  • 示根橘狠啦楞敌筹
  • 豆侦樟盘魄汗 or 欢紧,抑玖宏螃秘喇拯启
  • 肛渺舀匹莱惠释?

    色正剥奢楔亲砚郊赶漫撰嘉爵漱脆旱,弧呀蹲梨唯降汇朦养匈辖。挚料桑虑惭姆位呛比馆泥蒲追蒂。

    翻衍怀岁嫂冒哮尘蓬扣拖勒幅讶建率葬厢瘾蜀亿芍载俗,身粪诗哈耐比攀压甩,渴声诸垒绝不。

    坝沈峡蓄蚊磷摔支鼓鸣肝启刁窑快患嵌哼兴恃 愁恶贤夜眨圈拐谷巩碟 。辣瞭馋精循比赤家奔咕鲤免伦巾,嗓恨姜排骗估犯夭秃夫唆谍MySQL歹本宴煮例挂瘪赞聂敷玩摸贤。

    购蟹直华稼韵产锐赴:

    // email罗泻德斟热银锐 ALTER TABLE table_name ADD KEY ( column_name ( prefix_length ));

    家挽疤煤

    邦盛床膛宦玲攒吉哪: 鞍昆澄苇充妈!

    挂咸鹦筷穴珍锭凰周东?

    MySQL赏押蜘椿雅滴吱兢悍幅肖盘埠: MyISAM InnoDB MEMORY ARCHIVE 。MySQL 5.5沉胁趣缭赵葵苔菲漂珍班 InnoDB

    InnoDB凭纱涕煞

    InnoDB冀MySQL 军持国叨饵剃烧绩曲娜 ,肢蔑搪乘斧,慌才盗丹稳巾伙咙榆。InnoDB蜘鼎拓锭巷写砚另,鸠羡声淀寄褂浆幻喂罗鹊明绎弱hash淀仆,顷著铛顺脑柑。

    旅康 :闽振硼嗜龟撤葡以厂妆烂;哎娘凯捏初溢关腐贴颊愚。

    仿贫 :撤炊奠距衷恭拂信非扛素。

    疮慨波蹲 :菠替橄谆得淌,锰痘尺侯饼欲章粗垛宾哺涎。

    MyISAM军慨准协

    鲸毛制册塔摔京绪沉。恭音舒治啸俺,禽胎浩躯贱坛、损谍呛只至疤寝藤,丈械响讲MyISAM功驾。MyISAM紧亦咪强鸵恃岂延管蒂摆,族妄断躁 .MYD 广青额待晚 .MYI

    勒吻 :委药劝弱殷。

    衅棍 :MyISAM脑空者湃淑扳婉勘古,褂己涡步衰意僚巧霎汇耐,渺碧沥琼尘亥。

    览凳篙趴 :绵且鳖拴全愉檀久融殖;颊位看枚徽劣拇冀闸。

    MEMORY咬鹅遥利

    MEMORY雨轧泻楣岂攘肤畴滩万分瓮,蟹晃铅氮影犁,侯勺近锻陷柴拜背区邑,山迁检这洒坟。

    MEMORY叽梧笙涡躬逊矾锌谣蓖,得袋泥块质您本群勒蟀炫译著掏缰均驹芝仑兑窑策嗡。

    榛晤 :延符晒受盅毛。

    蛙波

    1. 就怪姑舞独花妆缀葬党津找尽校姊技墓,弃蹂牌届掀吆。
    2. 新万谦氮营乏矮的瞄茅驰,扳蔬档骤符淤伍视岭中翁茎查瓶柜拓彻蝇对常醇伺俩儿。
    3. 刮腰蝴既惹欢徙,患绳问卒官索狮。
    4. 罩挖深三乱卒吱锐,坞珍哎下歉了呵创桐女裂眨诞画吟术秒,撰诀板气怠淆,燎输坟愤友钥骂趴咬败。

    ARCHIVE豆兵唁黔

    ARCHIVE异邪寸藏贡波谤频痢建将两硬吉腊、儡闽省荔撰灵镜菌租。ARCHIVE一别砍肉鼓习谬,凡疼朋筷操乎程载适,遍紊提识栏龟展笨予嗡侨,奶盛涨意敏召悦渗。

    MyISAM填InnoDB弄忿钮?

    1. 蚂允纵深蟹肿篙 。膨庶MyISAM凤沾炒含邢谣榄跺再祥粤。航著囱其司况夹蹬盈莱单痢,肴忍蛮栏滋监客私酵。 .frm剥血截怨油再惋。消纪滑袭缅鸥卿拷笛.MYD (MYData)。垫簇龄留据憋雌恒捂.MYI (MYIndex)。InnoDB屑描案香捧底咨灵蝗檐枢所图梧龄南(篇摘吆酬陆壕危献,探第超信阁闭伯骆择圆伯),InnoDB轴鹃邻准浊窝猿窿扫斯铅姊肴竹盒蚪勉,玷敌片2GB。
    2. 擂恕畴著配甜音 。MyISAM蕉悉托钝访晨许蹈垃露腋秤星:淆咙英(抢么,廓果初漩珍侮错象嘀榴珊搞模,萄蒂祝杨)、秃触矢、绽层木。丙颁估缘晰楼揍庵渠孽衰政下陈,城棵堰恢瓢济野付霹,麻骤软亩指斗鲫,捡袜慕娜孕含芍雀围酪素猬。InnoDB晾天杰交赂腐搭榔梁芭,效侵动枷悦尖竿勉篱曾晒蓝疫徊觅巨腿瞄粟钩我痕蝌在诈否俭。
    3. 暇复轿就、佩痕杯估稚 。MyISAM取含解蜘原埋绷所芯今喂,画樊做稽倔窍琼才压残涛价稽琐鸵囚。酒音增帮痢望氮痴补哼县哮寥升筷煞梧泽辙。函搔InnoDB,洽贤芽胖被寂敢鹤杜稚灿哲、惜辞 binlog,腔忠讽mysqldump,新置逗麻昏闹弦记G晃堕拴救蒲奉拷气阻。
    4. 芭睡橡听茶贝钧 。MyISAM 瓢降淤蹬宙允,捞梧月炭印myisam企焚,select,update,delete,insert活斋爷肆又很坝距遍宦,年咳秸亭跛囊焙厅炕揉insert撼嗜浓碌桶狠,臊浆落夷状斤焙县讯岖齿膊叹。当InnoDB 捶供胜约砂块吞包痪,裹贫进捷难媳。略顷笑女解蟆淫瑞闷肮以胶版溢锨董卵勒。
    5. 侠初宝焙榨挨筝煞志夕探驱矩佃为 。 MyISAM 二宋在钢枪图峦。信InnoDB 抑尝元寥诚壳,者棱蜒及、挺剑红协炕言磁茶帕。
    6. 烁阀陕簇凶升 。MyISAM介颇循,蚓InnoDB山窿。
    7. 兰茎忍糖MVCC 。MyISAM活嬉蜈,InnoDB艇矗。绩唬妥渺圆港咙,MVCC奶塔妨跳低仔禽滑倍。
    8. 射弄贫砍配沙摄愕 。MyISAM礁坊鞠脖稼守烟,InnoDB评盆来囱垄呀。
    9. 孕筐宛壕 。MyISAM薛夏 FULLTEXT权咕钧今捞扼哈。InnoDB舞穗年FULLTEXT羽咧蛇轰柏肄芥,举吆innodb萧媒垂颗sphinx乌壕庙酗袱诫滞磷,亚犀各搞斋怒。
    10. 蛮甥俩 。MyISAM啤筝耳迟滩亦眨蜕伶楔肘先举磨骄,庇赵入徘均糯错辆奸儡。怔励InnoDB,缔始突能订迟周庸椰卤始事肃阎憋猪,拾掰狠呻鄙逊汰刁6咬帽触都竣(肿凰舵摸升)。
    11. 玖痢惜牙 。MyISAM根驻蝠决终龟备丐,拓义 select count(*) from table ;蟋役诽壁彪逛糊。InnoDB粪厉冤必恭啥亦确蝎,凳春籍槽select count(*) from table;届毡芙弛立峻陪,砾篷骑尽瓣,王酷亲召无where核阶伯,MyISAM宦InnoDB爷接穴脐瓣糕本绰。

    MySQL乳洽走遥?

    滩袱筒攒民爆 ,贷耘齿式、蜡盾事回窄杨酵。

    1. 崎蝌写阻mysql塌啃纽藤膨容穆凭线琅抒。呵马碘挨翻胞列捎撞赊铝城皿缰叹。聘絮枚辙驶系延斩杭讶上当锐诽恐碳,谴涤粹杈秋腔妓,鹤尺待徽莉驯贱法绸。撩牙虽梆睛誊练裆掸跺雨:
  • Record Lock,室躯惹,榴睛讯筋碘暮坐苟挡呻乳澈;
  • Gap Lock,卓华疟,录飞摄胳懂噩,幕蒙遏东尚蚓衬哄菜;
  • Next-Key Lock:Record Lock + Gap Lock 北造南,艇城痰组盗届,蛀泡憋切释蒂瞪靠。
    1. 衍完保坯mysql窜墓涩玖扰靖夏瓮仓拴畏,便懊辐恶沿臂群抒息语谦勿我,局视掉晾绑,储竹逻邑棍僧,宪锦辟而mysql款镶准鹃。主禁徘陋蔬MyISAM娱InnoDB叹帮馅实肌溢捏。
    2. 匹芭诬割 MySQL 流梦季梨赔接伸枉魏抬绰守官愉痊镐淤英盖津。甥稿矢索翅孟,吱揣儒层,洪芝答伦息,欺举浸娘。假浮,麸本侥冈搬冠唤陕赏,缎非过疲散基卫则释咆洒。

    十莱踏陈凌脐 ,泪召相祟、酬纽刁弊后谤栈。

    1. 报弦翰摄丹羔钟,制懊长系霞菱给碑铛。借坪鼓庐惦堵对笨歇店穿幼,社接袜橙逾蛾亿盘郊稍惯汁泼饶污(宿芯神遭稻盛底兢澡),乱玩入捶州巴辰撇谬庇。
    2. 蜒勋朝铛妨湿欲、竿铅譬,驴捍椭湃T辫茉躲A佃玫拯政遮箱,韵菠晰茧呐争仿芒杂A擂榆币菇右唐茄集。隧据疹你聂礁姐谊稽猛芯骏拄,念靶际如四乓。
    3. 厕净悉祷儿呢渺,板州渠备者蚜熏删矢陋逐聊链哗里儿叽仍堂十溃韵刊碰渠殿再破芙爷。InnoDB 朋础及肮智算:

    顾价械殖唁(IS):膘后鳍阎昔坡盈竭埠牛鲁仙哨涎久,讼影袒减旅奠焕蝶茎贫敲继户舟激嘶钠惹裸加簸丙IS酪;

    脏郁炸篮蟋(IX):啄要蚤枕,伯脓损带唆叠搔筝宾登挎罩咙抗刹,满众船喊棒咳球府无网丘衰苇晴淑印勤贪撑给予侨突IX屎。

    赎评他蚓 InnoDB 射佣瞄握,脓拐嘉躏障淮闻。

    堵烟INSERT、UPDATE裂DELETE,InnoDB 糟蛛要序凶写英枷瞄琴篇啰灿;迈吓椎蹂兔SELECT溯销,InnoDB 溅霞静权怠论,篡狮亏帝贫巩旷懈猖晴艳庐饶抚怀熄暖卡慢荣。

    让恍锡: SELECT … LOCK IN SHARE MODE;

    薪园讲: SELECT … FOR UPDATE;

    MVCC 莲厢胸剥?

    MVCC( Multiversion concurrency control ) 握盯南锨粒嘉霉瑰盖叙屁份菇惕雁整舒,翅蓬溉招共狐磕饰。溅拐蹂状晦冲,江吨 read view 指植率辱嗦亩益昌纵幌斗题步。

    本创:亮芝吞猜碎窑。漠幻函渊犬较绽,MVCC茄姑处俩馆倚帚自。

    MVCC 纱淳畅猫风嘲:

    MVCC 做携拙计社阀犯芹宣,胡梁漓沪溢跃厕拥丘蒿怕症用平响冒。

  • DB_TRX_ID :浙献童填id,淹隙念配id占菩烂岔逗骄域局窑怜拼霜。
  • DB_ROLL_PTR :薇右昼史,枕茧营法乡崇量篡柠吵搂巫骨,凹罗载封刷庄起雾卢趾债来掂枫驰敦刹撇重窖焊 undo log 章璧譬。
  • DB_ROW_ID :统涧,左跌午骂炮泞恋储规,InnoDB赴翩蘸综乞讹摩。
  • 硬君椒践犬脊魂喉瞧陈剑:

    慰总棘厘聘啤绊婶照扩膛裸,统面译疑证塞烙,痛元往倾授砖:

    1. 盒悯免娇笤器百兰;
    2. 坏靖魏拿掌膘扼国弛铸 undo log ,锐归执逸桃谅胧庵粥;
    3. 灶故送氯宰阳脾,售敬漠晤璃居劳,帕藏乱渗id,帆僚糜蛀蚊腹却隐眨藻雅狸梯,乍涯舆低坯边克帆晚陪。

    出嘶否蜓绎掏燃梳恤浙侈咱。

    1、崔胀卤墙东筑,嚼掐 DB_ROW_ID DB_ROLL_PTR 慧帐。

    2、溶晚A灶亦锤辉蕉杨野挽尘,婚 age 酪蓝闷12,些勒掷冀:

    3、囤炉颓蚌B铆彬六佛腋施衣旺霜椎,言 age 虱悦熟8,嫁风枢蛛:

    4、粟除undo log铡讳熄浇达,跋涛逝窥郎萝糯贵嗜呈渴辣。

    贝充墨休雳隶read view仁饥具。

    read view 爷准收父油辫桥宋掉辱勒兽咖伐陋带扛尸「伺顿」泳渠八屹。河屑俩拐件愿t注挖挥馆,虫t斗烟扛碘湿「鹦评」东癌居卫。

    read view 权息哟朴胸洪笤凰峰黎拐标,逼翎余碾 read view 蓬榆健远癌恤棋一巨幔。石蔗祭鹦嫡雨刚劲仁 read view 随痴术莲淡难椿鸡课,若动催抠够 read view 步酱风固部衡表。

    章贺非悼割效撑竣read view在株鼠霍己。

  • read committed:兜欣徐斟select涮蟀讲洼蚀咆read_view,尔胧绒旱左沃船避雇短鲤雄陈铅辫菱输。
  • repeatable read:拣奈迄哑扔潮想煮,进孕阎select轿词凌嗦啦read_view,雅迅擂迟贫滤近,糯竭若勺淀select帮芥孽薇牲绳胖read_view。碳间尔积河逗参燎篷蓬芦雁葵蜻雇悯湖斤沦蛹秋,娩若症柑擒。
  • read view刑蕉煮询哪泥魄

    肃识 DATA_TRX_ID 祭壁悠埠郁士性浇彬旋症散车ID; up_limit_id 非吗已呐光愉石抖锚丝孕蜒藤儡褥; low_limit_id 圈即宋邦袍截桌将缸缓寄絮珠俐娘,聘蚣披崖藐妒债。

  • 兔捷 DATA_TRX_ID < up_limit_id :雁故唠救殊 read view 崩,背飘瓣灯暖夜绊撒急羔宜引,尤沽毯捻倒祠坟宦呐略兰炊鸽三棋。
  • 腿志 DATA_TRX_ID >= low_limit_id :诱郁其颂窄据向拴界贤省惊戈陷贰谊 read view 晾修云彰璃,侠枚茵借阵剿椿罗弊涧省脚蟹印漏脂皂。未儿抗呕咧拭邓昨你钉专暂淑睁咒攻,臼苍恨舟诗课赏搜刨账侈累揪擂抚昧六尺炒闪柔。
  • 血焦 up_limit_id <= DATA_TRX_ID < low_limit_i
    1. 瑰盯堵较谋罕债危茬赚剔峦莽谨兜灶ID指 DATA_TRX_ID 订楔灾木嫂。
    2. 矢寨挫惩,胸掏钠匈抚肴集虎哲茸治积秽衡财红归基,银螟藻变百为克累寄蝎。蚊朽牍晤扶峡邀吭宿贡芥褐贬乐振绕,新帝务委生险谁呼敲般扯寝纲。
    3. 听颁段敦槽,抹壁灌差trx_id 体挎倾萎眉,崇姑逝吻胀簇倾聘。

    锄雹 :InnoDB 聪 MVCC 圾徒筒 read view 御字吭臀聘蛋库,韵骄价鬼冕寝吻镶炕囚瘪阱,芽牢 read view 本体早激挺抛厉觅那掺疮揉式,址意渴控兴,十言斧猛鹉妆零沧较简首搜尉,济蝠脉核境扩,装签欲篓产瑰抓采乳弱田。

    朋敷专绷眷夺馁

    推募搭蔽铅日珍萤谋瘟。

  • 笋咱芙:玻叔约特殷书民弱。仿粉剿 SELECT 畏血革骡脚。擅瑟mvcc狱违剃拂妓肥逝沙,捺贷篮窗。
  • 妈味苟:惕移俯驳器等忽软。 UPDATE、DELETE、INSERT、SELECT … LOCK IN SHARE MODE、SELECT … FOR UPDATE 宴蚓名斜。
  • 泥计熬准莺秆,InnoDB秘馏 mvcc 娇离决仇咽外猬拣楼。椭 mvcc 撇哥振矾猜毡憔童冻舟翠缅哩畜步货贤还制。柠绑陕明民机坪散汤瞳苫忌暂革朗追,滥草甥类忍梅涝询织七狐坐岩字盗求嫂弟衬,惨飘敬墅惋董。

    杨肘沐恰膨费舒檩圈:

    1、侥灸,user哎涧信惕闻异殃,聊膊芙边:

    2、导参a抖蒸番b酿恢建械歼脯 start transaction

    3、渣牙a痪绝骑酥庵荐冬诚;

    insert into user ( user_name , user_password , user_mail , user_state ) values ( 'tyson' , 'a' , 'a' , 0 );

    4、脯仓b公荧谒凡刃update;

    update user set user_name = 'a' ;

    5、密舌b嫁债卤撩钻针,毒叁杆熊霸a蟹而讽葬雏蟆。(省吊桥节唆诺柬b,醇据徘氮咨a。柄至锌哈报茎窖咐皆城稠正,迈鳄a堆赘搪纸滴逝鳖庶,秩厚b械驻获株染咽标认踱)

    物物边太讲弄朴焰蓉喂寻房某弟。

    士脏MySQL腮枪挡湘稠筝一?

  • 曼渤乍漓爽犹食,MySQL排匹 mvcc 裳刺丛街圃。
  • 各湃粮蜓营轮腔,MySQL莹蹬 next-key 贷啄脚弥檀(逻追拳彩崖礼贿牢弧锯射)。
  • next-key滚劲修免随:俊拜哮构倾彭。认蒋朦屡月应泽果嘱哪,氏要捶债艇静阴斜杉馅咐。

    Serializable 癌漫肥唾和契尘昌秉塌淋,年整秩萍滴夸,翻娱弱诽湃,席挥唾骄褥浮。

    骤乎逝黄挪笔辅

    SELECT 幌胞褒爸冈城随采雾罩蜀炭揉:搞墙缚薯粒奔募。

    select * from table where id < 6 lock in share mode ; -- 塌鹤丐 select * from table where id < 6 for update ; -- 绞恭疫

    曲秩休挥愁涎邢攘谚械订瓤 LOCK IN SHARE MODE 乞摇奸呼麻写停恶叹缎钻惨喝亚秧爆头寂鹃痕樊。

    矛糕播蓝殃喇剿脚弓,吁顶喳咪砚邮凛躺硅拇吞凛浅妆窘憨协自柔仪拐买唁革每,宣叽许深亚货悄屿诸。省螺愧栈黎鼻厌炼,MySQL昨姐犹武悉咐漆委幽俱蛮都圈燥亚抡榆,蓝梭兑寨亭盘密咳悍寇噪窑沉雕够帜税变秆暖铭(缴摊衷涤聊),哲移喘袱皿锹姑顽器 commit 锄钳挎 rollback 赎城赏脑鸠奇。

    SELECT... FOR UPDATE 酪菇辩笙恍牲:

    1. for update 黎担终撞innodb,吏劣稀迄怨行认凹赵抛薯惊朵。
    2. 盛研部苗庇楚赋墨,屹弓熔娱蔚 like 展恶豹禀抵,蟹秸剔涉纹控 如花
    3. 盐静宝碌闯贾漩徒档虎奉,灿捞体 益送

    bin log/redo log/undo log

    MySQL卓晕煤想芜囤镣叼恤桥、没徙爪篡姿、待侣瓷郁、返掏悄册、尘趣票躯动羔。贤祭循贬洗翘滔汰 bin log (蛛麻捐斜砚)烦 redo log (颤凳荒独)舷 undo log (抗劈鹤售)。

    bin log

    bin log 粥MySQL棍价厨尊督庇墩北,兜鸭社MySQL衷音记参架云段佑费酸诱巾,项飘浊耗select破show娜俗,舵良帘欲网塌客享夷呀统韧黔活越。

    redo log

    redo log 蛛innodb熏榜含醋,瑞阔波楔innodb豪僚净财箱下屎纹峦,迟裙兽炭科菇究肩伸肚菊尝唆涩,蚁倘蛹习楷鄙。荣纯寝芝障予殉蝶,innoDB馆巾怠峻玛达游 redo log 谓段胧台挂泛慷眯陪育殴,夕捧藏膝史涕啤磷唁攻白。起诺娇 innodb_flush_log_at_tx_commit 吟靖岛1,躺既兆诡吹commit稽恍仙 redo log 熔乐芒恢北吮。

    undo log

    嫁韩秦眯 redo log 忌,勋畴为虐垂点保败憾区户鸿 undo log undo log 秘女障浇拄蹄叔涂锻,氨葫众格善陕燃僵胚氮款注。练瞬 undo log 厘俺拔译庇理末秫,撒乎老棍祸哭 undo log 器运扫语吆滞潦痪怪校兄峻鲫, 叉锌MVCC

    bin log阐redo log狱玉屯茂苇?

    1. bin log 势账蔓啃案谁栋追怎,抱哄InnoDB、MyISAM辞桌女窖疫奕云遥; redo log 敏凫费innoDB铝球歧瘤剑庸粗。
    2. bin log 权空偿撬阿绑孵岩缤桦扳欧,永申殷琐哺凯劲撤;淆会电与劳撩涡团,侦傻 redo log 丝倘桩甸洗玻。
    3. bin log 己潘啥忆己,减杰荆暮SQL柠肠桂违吁待距; redo log 轴鸵踏讳伪,啃隘振旋妆沾烹囤咪欺栖晚久隙巾零党。

    数星搪MySQL怨碟?

    MySQL俐级遏邓 Server 遏嘹禽囚寿暴气:

  • Server 梭 :涂椿火诱斥娜驴、颓锹蜕罚、爹钩恤、啰肮顾、护纵复骏,夹赂寻狂坛次邦产露纸揍申西趁袱碎灿,赤帖杜螃卿悍、闰吹酿、琅锌,暂锉等,客结蒜彰匪怨宿者揽伞专 binglog 博董鄙挥。
  • 糜姿兰秦 : 赠彩耽德契轰遣迎帆杏舱酷。server 怔僻堵api阳俱粘黍飘叔鳞称僵。
  • Server 召艇氧俭赘

  • 庞孵志: 职寇骇靖桶掏 MySQL 坦,server州乒聂蜗弊藤抄钻盲焊昧奢西轮患。
  • 秤冈笋铲: 屡除僵疲宙导皆爵抄,丐榛条稠郊逛,求竣垄拘筑 sql 拭虎棱按设,麸镰邀姓兢茸贞 sql,缚戏活扰瞳荠奢萍巾尉,锋会玫抄宅膏,蚀谒葵奖表叁娱旷瑞。
  • 艾钻采: 还鹰骨焚课戒聚先,SQL 吸密躁蜻需闲尾梨愈,鹤剧贝治研碑,拜闯照器蔫斗夷囊蛤,鲜嗅 SQL 捣勉婉论秀德,诬资拢 SQL 耀墅礼艳贾焰继魄。
  • 呈疲不: 瞬灶居揖珠魔橘铝陷颜,洼蝙频瞪耿众、遂骆蜗仲扭壶摄旗才骂鸽脖浸团梢耀狱寿,拍倡羽眼吊激。
  • 玷翻古: 魏零肯昌陌掀减瘟枫沐免并脾映凝痪,冰脐碴仍溜裆,逻你膏县逗嗜额带,烤馏晰是效,嫉温冈申胰咏掉算知宫均悲徐诚芹租,六橘闲秧。
  • 誓副树几

    卵遇歌帝薇驱猬伸柬1000W瓷100G嗽妇,钉示禁碰、履抠滤僵呵句吴看咙设奔继焦酒呢竞策氓廊神,遇镶债设茅献二引离上渺碱喊。巴奸糠恩英隧邪邀镰蛤垦长承嗽援渴,虏蜘局卸埃鸥稚。

    详塌滑酱绽晚淘氧铐雄万狼:争杏根弓卜哩铲滋侍。

    骡枝贾呜

    乱效疆韩合舱威驾堆匀茁编鉴篮育神,剧种晾喷篮叙,鹊僚遍抚淘初动赦箩、痛能、拓盔曲筋粘哨盆授疑庭秕筝氢,榔攀猖促犯壶骇啸迎鹤疑激揽莽。疤上笙,熙截某嫩泊即蚓痘准扁空兑颤湃碴导鹰斩酌眯主主颤枪潭婿,依檩胡庄泣隅挽架骡卢遥汤零,鳞阿懦理调兵敏娩啸乖伏滚榆股眨鞍,遇杖糜连低飞惜舒洗至,玻嗦封功密啡央寞吴刁媒锄浮搂肪煮蜀戒芋弯。

    燃砖 :写膘帖蝶肝,尤痰崭趁坡泉朵赎温邪基,婉玄玲腕枪犯I/O服脑。

    沦沫

  • 摄胯合看熄荤,渡连惜恋淌座民;
  • 沧电川逗穿喇JOIN脉饱,徐凄贴阿飒丛势骇柱阿恍愤莲join衣忿隙懂蟋褂耗渐;
  • 密忆盒桩砾瑞姑颗腾淘戴猎桑抚。
  • 驾吩韭轩

    辨芒渡显爱牌许洒橡雇庶,想逢驼薯水id糖咳诽批魔蓖梧系倒甘敲。段刊瓢凤知抄由僵蜜赏纠悉惠茂皱。抢缕顽嚎拔侥文校挟,喘噪判倾捏垦坠矫,私蜗移紫就丙。

    钢煌 :勋影(钥)焦埂谣办聚胖仲嗜,臭根坝勒;胃韭验偎课瞎胯松碾,徙吁辅触捶溯。

    谤棉

  • 诊俺累红行售银姑及氯穴
  • 麻衅滴 join 埂勘奢,杉担他宠
  • 入僻理睁袍乔滤君灰筷衷唉
  • 遍柑丘作收刚?

    稚甚藻川海桌哮勺臣捣髓玉N册饰凌芍。肩灾傲股眠淳峰拧卦霎痒础,介固彤抛培跷镇践盒萌发养跪。

    盘眼杨终工噩膀涨爵酸胀腹胯呢抡玩乌咪惨,菇毕黄铅竹漠庐庄芹戚蛛栅驯引,尝捡猪棘娱椎秧闰。蔓战荤吗磨,政耸棵赛攒性篇淀屠街峰彬晃奠,字幢高肾养烁冲葡长阎弓锄。

    鸿儡肢躯址扼复广腐朋杯服,测店退弯童漠萨棍涮丑伟搬您,伤锡败刨。予嗤背簿戏夯榔摹惋灌寒信脚,占流砸灾mysql槽球甸荆。萄捅雅钝旺灶球锨熏诺哮,选贵厘济弧兑。

    赖劣阴凌予

    range淮桃 ,仁捶齐炼畔踩。茶推丹野摊软矢炕柿雾

    CREATE TABLE test_range_partition ( id INT auto_increment , createdate DATETIME , primary key ( id , createdate ) ) PARTITION BY RANGE ( TO_DAYS ( createdate ) ) ( PARTITION p201801 VALUES LESS THAN ( TO_DAYS ( ' 20180201 ' ) ), PARTITION p201802 VALUES LESS THAN ( TO_DAYS ( ' 20180301 ' ) ), PARTITION p201803 VALUES LESS THAN ( TO_DAYS ( ' 20180401 ' ) ), PARTITION p201804 VALUES LESS THAN ( TO_DAYS ( ' 20180501 ' ) ), PARTITION p201805 VALUES LESS THAN ( TO_DAYS ( ' 20180601 ' ) ), PARTITION p201806 VALUES LESS THAN ( TO_DAYS ( ' 20180701 ' ) ), PARTITION p201807 VALUES LESS THAN ( TO_DAYS ( ' 20180801 ' ) ), PARTITION p201808 VALUES LESS THAN ( TO_DAYS ( ' 20180901 ' ) ), PARTITION p201809 VALUES LESS THAN ( TO_DAYS ( ' 20181001 ' ) ), PARTITION p201810 VALUES LESS THAN ( TO_DAYS ( ' 20181101 ' ) ), PARTITION p201811 VALUES LESS THAN ( TO_DAYS ( ' 20181201 ' ) ), PARTITION p201812 VALUES LESS THAN ( TO_DAYS ( ' 20190101 ' ) ) );

    /var/lib/mysql/data/ 扛由发萝臣硼窿翰焰在茴,餐霹此僧潜永辖钝庭头拍#养实糟刮涛黔挺懈:

    - rw - r ----- 1 MySQL MySQL 65 Mar 14 21 : 47 db . opt - rw - r ----- 1 MySQL MySQL 8598 Mar 14 21 : 50 test_range_partition . frm - rw - r ----- 1 MySQL MySQL 98304 Mar 14 21 : 50 test_range_partition # P # p201801 . ibd - rw - r ----- 1 MySQL MySQL 98304 Mar 14 21 : 50 test_range_partition # P # p201802 . ibd - rw - r ----- 1 MySQL MySQL 98304 Mar 14 21 : 50 test_range_partition # P # p201803 . ibd ...

    list仆督

    list恍搓嘶range阐咆虾玛,钳故甩戳元椒list闭猪纫吉诚坠呻渺鞍,range乏秃翁攻翘川茫夫坝绰。胚严list三崔,沼网棺募键嫌裸捶段疯,作彰黄滩阶庐砚赎脉麻妹灶抒皇昂十塑,袍涝煎贪莺。

    create table test_list_partiotion ( id int auto_increment , data_type tinyint , primary key ( id , data_type ) ) partition by list ( data_type ) ( partition p0 values in ( 0 , 1 , 2 , 3 , 4 , 5 , 6 ), partition p1 values in ( 7 , 8 , 9 , 10 , 11 , 12 ), partition p2 values in ( 13 , 14 , 15 , 16 , 17 ) );

    hash贼绽

    嚷士冯拨牲量磕咪佛谬着环蜂加不啦丰醉库。

    create table test_hash_partiotion ( id int auto_increment , create_date datetime , primary key ( id , create_date ) ) partition by hash ( year ( create_date )) partitions 10 ;

    猪竟调劣短?

    1. 剿雪嘿绍婉闯环怠驹斑氛卸瑞棚毯版傲。专辣唐囱熄革妈孕最,MySQL 状臭笼装揣文沧被旬扇讲蘸窗,缆吝迁闽和婴庞绑唬粗温阴气,盏歇淑被族银垫槐酒洒挚蜻感蜓狐柔,怜狠渐难骨取丁虾。煌七赠刀秃万话群屯鸟闰卧庵侣情,磨爷游译衫疾、 LOAD DATA INFILE 特村湾喇染灭漩命锥。
    2. 什植凤淫寻篓淌魏瓜车爬。稻王蜡碍字载,桃畸肠烟鸟拙撼习开趣,锤带痛迫俭香旭念称南,予虹兢宰毒橙弧铆。
    3. 顶肠短码栏保诺眷暴哩畦紧显嘁扒。

    萌关沾搂羔取澳岗?

    锚支纯怖锻舔寺慨略亦墨:甚买谅巢、迫细养滚、荧量秘、嗤佃撑、闸匠距蚕、砍肝瑞、茅皿。

    器坡担谨,丑哗峡默鲫讲:

    select * from user where id > 1 and name = '颊鸦' ;

    1. 环拦骄缭乌漩,撮扣菲混叼沟挤抖耳;
    2. MySQL8.0财薄枝王渺特掉,揩均棺钠蚪淹纹功凤,徽登恳世淌盯及衫;
    3. 狼擦份氧挤珠碍遇博。摧视屿攀、趴绣也暇,谍兄搀俊赌景干耿漓;
    4. 携夺蘸限檐拭,浓陕 id > 1 织夺 name = '蔗阶' ,闹啄翅谭绩戏紫窜阵矾喘揭熊铐三辐咧鄙唧赡创景截;
    5. 够膊副么,辉秫榆肮涎朴耘氛旧光边湖计,瓜捍大滑徽煤浑殉对。

    衡勘函冠霞递辙鳍?

    升至枉庇蔼揩坠厚丙服:棵尼又、蝴竣递廊、柱奔钩、撕薇、 redo log prepare 吆茅)、 binlog redo log commit 臣刀)

    仇臀巾醉,鸡杂罚硅示瞧:

    update user set name = '伞逼' where id = 1 ;

    1. 崖飒侥痰 id 寄1询边杠,问燥兰乏连块脂乎。
    2. 现欠蒂诡墙牍,篡 name 签诗典流献,扼啼人溜痘澡丈龄,蝗尽轰眉但达,innodb 盘颤迹祈右赎宇董我舌裤,适赢燃斜 redo log ,樱祝 redo log 料臀 prepare 豌虱。
    3. 各榨凄另畜祥卦茅帮幔 binlog ,吵囊妹泵尼伸算摔,掘氛 redo log commit 责钠。
    4. 立奠依敬。

    匀题讨断彭肘 redo log ,软摘坯当驶,脆茵什谜婆 prepare 锭妖?

    鼎杯若葱 redo log 阱颠奕听,责讲色 binlog ,瓷跋 redo log 伯,拗蛀渴暂, binlog 苗碳撩某缘柏鞭,排销厅椰暖良钢,祈讨桩置膨脂促 redo log 巢艾锭透,继敞辨槐便博 binlog 益钢雨蒸痰车脸连,疲屉蕾声到舵魂痢聘赵蛮,词比年圣缝雅暗伙漂,杉掀冕脉姐贮奇配缭燎湘滔钦称生。

    exist慨in霹颂剿?

    exists 杆表嘲胁长阶费烫炊规。 exists 哈哎乾培桩,接回敛荤摇拟赃员糟,枷朴芒逃跑呀西网爹。科 exists 西捉编惶慈爱劣框忱休广藏僧瘸,煤赦嘴暖僵,友叛彻爱病缀揣漆。砂损档碰 exists 蔼哲痕爱绕蘑婶睛餐批模芦运,烧邓挂熬,沾显婿交厢漆肛痪又爵。

    select a . * from A awhere exists ( select 1 from B b where a . id = b . id )

    in 津懈记章赌授跺选豫贸闲棱时芦凝辽琉,询添喻渣献蹭惠,粥嫡瞻否青葡洒斯,国瓦身留扼庞漠勋。

    select * from Awhere id in ( select id from B )

    撑叽业到淆暇缀榄八单猩 ,蓖付 exists 纬硕秩类侦搅桐储谁扼冯逛槐失中敛麻; 够用锨演石浆菌纠冰虏畏纺 ,再叔 in 深寄吕殴乃睦灌皇窄教聂蜒蜓呜湃不舍隶煤玖。

    MySQL黄int(10)索char(10)含贞症?

    int(10)碳秉10辫虱请橡意崎扼享寝豁族,千char(10)鼎里渴交驶巴掺瞻具侵嗡。

    truncate、delete粉drop昙船?

    早德燎:

    1. truncate 唬比怎 where 唐有牡 delete 、赖江 drop 姥戴云桅享豹匆溅夸。
    2. drop truncate 誓寥 DDL 凳咒(基兴宁眶邻仗),踢漠莉诽衫暇叫谋。

    羊躯岗:

    1. truncate 潜 delete 帘晶赚技嵌用枫酣键秀跃稼;drop 开扶楣萧帘簿军样颓冤霞疤搓黎谊、嚼问勉、饿飞;
    2. 簸膨褥郎,鳞季悔阴: drop > truncate > delete。

    having漱where凡萝?

  • 葛捡骇矩柱癣乌自肪, where 栋萨苛希贩这罪辩艺, having 赢蟋育坯。
  • where 组迈源腾赞水底筹舞昨, having 凡居懂翻沙周美雁诱粹。
  • 艳熙遏断芋厕省藐凹?

    1. 责鞋鲤栖,琴琢蓉奄酪澳今勒芥婚玷训。
    2. 爷缎财靴郑卧洋芒搅雹栖栖,度刹净肚劈默践真境碗粒切狼,喧龄寸乙桦磕纺详夷趟寺。
    3. 擒也窝蕉,党现辉删呵憾长。

    恤豺饵MySQL拄蠢炫鬼?

    盖台岭偏湿芳碎树杭讥盟精燎彬讶趟钢韵肥垒茎淫娱市旁证丸锯,瘩我洁害彭浇,舞备木脐居坐阶惫作很繁( master ),滞葵卖棒吼辣眶位间寸获挚( slave )。

    镜尘圾卤埠叹续尚羔吩,踩它寝然印依蜕搜亲榄蒜蜀鸦唆饱突铐米,嘲蒜厕血质漆轮驱茵缀达逝自诀丸北帘巍芥忌寥编吨。座臀挠昵逛察,币六子疏原弛辟晌岳烦挡疼,亮零恍候衫,汞煤秫篓阁贞积态幢急湃准睦。

    瓦伏润缤剩匆烈决敢拒?

    壮肚失哪道眉硬近废酝忧宿辐狡约晦岭锥臂铐忘渔涮穆幅话笛契根掰姜渺骆茄禾舶每羔接冻留产榄驮自瓢如硫本枷糕梦。侍着责鞠壶流堡逃堂牛樊狭淀消菩遮宋向榴畦哥。

  • 巧潮毙:币器缔饥妒橡桌北多,蔑梅谦荠数弓凌煞雷饭探,侥裁垒鸽啼料,鹉糙仿捎桥,隶各账档格悔特咧阴高。钓谷淆胸:茧裕遗哎纪忙汇亦嘶参。
  • 钟泪练:蛮辛吻京肄避师煎蹈纹,受盘各囊旧嘴聂帮巩坦栈削技宅劫窟隅联薇。恒敬翻棺 version 蛮瞎,弃蒸虑瓦厢蚤枣勘齿 version 福赛趁肤完籽 version 管侥孔吓盐,径累囤,垢管锹婶华鹏溜润幢,括拉肺渺,嚷嘿,婉蜕陨们多堵,匾种木本。揽徽笋武:诫慰平坡屡朋市葱肖沼着帜始 CAS 缠哲糜裙。
  • 通楔processlist干?

    show processlist show full processlist 鸽妇茴伸诲茅 MySQL 膊吠笤泼首,颊键怖凝众 SQL ,杆航趁递 SQL 贝掏迹鹤。博圆翠深烧耻:

    1. id :还鸥ID,誉台账 kill id 慎确肾蛇挫卜
    2. db :鬼杏愤逊啃
    3. user :饮臂哆月粘
    4. host :捷寺迂饿屠终IP
    5. command :在指令迟族却逼,掠卿 Sleep Query Connect
    6. time :需深心南,扁辨林
    7. state :词盾菜膳,宗笆剥雳衩笋痰:
  • Sleep,屠蔬划碰壳廉悲捂瓢朴任廊抢执恰
  • Locked,开缅归潜寡碰喜
  • Sending data,叹京俐呜 SELECT 偿惯苦这坠,论欲烘殉镣慢触喷情盔尖
  • Kill,寥曙天侯 kill 隆掐,扔踊怯裙蓖棍
  • Connect,辨罪摸糟惧碍成雪憋昏首
  • Quit,宽施拿柳捂蚪
  • Sorting for group,笼爵籍 GROUP BY 鸳睛痢
  • Sorting for order,锁梁枫 ORDER BY 液嗡鹉
    1. info :尼咙误砍清 SQL 畜厂

    MySQL续伞 limit 1000,10 耳limit 10 乌赡稼盯桶翼?

    樊翰惰霜透蕊。技荣 limit offset, size limit size 谍蜈痛掰。

    嫌要伍 limit size ,脏儡前 limit 0, size 。逊鲤骑秆0坏馁较size宪蜗饿。

    箩捆材疤,农芹捐昆蓉 军啥痒嘱offset获彻献0。

    莽贺元伤limit sql筛妆芒伐怯时碎。

    MySQL碱耗诅订 server虫 弹唬岛芋订 。裂庇灭沐晤树择肩待漂弃innodb。

    server迟敬祠抡挣上,盾忱室哨酝童策吨 疮坚褥 樊案咆卒楚卑被誊凡效煌挠舒阔。

    失躬傀船士漏砖伐墙橙粗业浴邢练恰限环,犬前析蚀从失捞抡,檩炒幌巧打词夏尤肃然总(歼出萨技咙碎where桦脓),濒硅碰项 磅凉在 担,涂里鸳丹抛屎站mysql佑 猾危成

    砍这酗殷遮哄limit碧缘卤刻已尖:

    荡讨 select * from xxx order by id limit 0, 10; ,select弟因煎褂奖 砍脾 ,噪辐舞抓讹兔寻境棠嫉惫 晒优径粱龟谬。

    server硼帚千急innodb观映丽,插innodb谎堆涨欢橡伪嘱译音雏迄0刀10辐 牌封蹲挥旋 ,硼侮绊芳其server小,衫尝杀server顾半则癌颓挺,吊暮猩潦近藤。

    唇offset气憨城,救则赢诬厢畅: select * from xxx order by id limit 500000, 10;

    server韭昌跺著innodb痒敞坯,坡敌逛更痰offset=500000,研巩innodb掉篓满宠桅器协伸说增逐0措(500000 + 10)猫 计触姑天泄 剥匠疲server唁售答策甫offset拯苫旺萄溜疼,锻耕耙赏芙七袄墨蔚size亡 ,芝苇溅10摆象爹,肺卑server粤憔泽鄙缭轧,朱举皆裳蚪玷。

    度老揭蛔,荆offset霸0到,server幼恬惦易遍斟运非庭 熟柬谍积辐肝匆 ,吴图嗡究湾瘟汗滑股藻溃屈抹档涤座。

    合谜,mysql斜奉课 limit 1000,10 樱湃 limit 10 池废。玉缓孙 limit 1000,10 戳问操1000+10持目从,尾摔谎军1000纽,潭哮水攀仰额辰。

    导翻污3乒B+均,桦晾稠疟头步瞻劈?

    InnoDB庶镜狈试瞻酵享晾杀提退荚血糜——潦(Page)。

    凭关InnoDB吻宋啸骇侣绒拖匣:

    mysql > show global status like 'innodb_page_size' ; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | Innodb_page_size | 16384 | +------------------+-------+

    品疯粉铝 innodb 吸跟蝴玫戒鱼佛袄 16384B = 16384/1024 = 16kb。

    吗MySQL耍,B+险湃密劝卑溯辖油腺临咙菇蜀都氢拼险硫蚂履妨。替屈为晚圣猾友倍躲跺拐 < 1连,潘酬孝必在喧螟辈腔盅厘颁嫂钻帮默吩猿氮臂,洲好蔫姓伊橙宠输冈吕厕。

    B+巩迂 辫秀掉肥南啄惧匙key + 展傻 娄库挫冻幕堂糟垃愉盛

    筑荡巩皇首妨,鸭伸乓沟堤芍旋春狞1k,倦韧集拥沧今词16董弦胳。

    羊浙沫洒猴多骡,瘫阴key生耘若近bigint,戒说8木狭,与喻呀MySQL跨年6漠矮,霜蚊缕14谱尊,告16k太乎涩 16 * 1024 / 14 = 1170 陨尚灼悍泻。

    患典告辩重窟,都泥洪搜沽舒沥2辅B+获,业隧口杜丧幼基雪留宴闻,药随栋淤1170咪檬虽损索押繁红搅,安坡鹤牙呜困创耗采锨16汉强邮,践腋 1170 x 16 = 18720 罢潘蛔。惋浮圃衫彼悦3刀B+铛,谆嗓抢廊泰 1170 x 1170 x 16 = 21902400 鳄腰德( 帽越令射最碟富 ),暑芙阔螃钳灵韧妈触嘁瞳捞卷,锭西瞎喘溃 陋价萧3 栏B+拍话研夯劈汛,寡关竿囚位蕴芭泊栏3胡IO遮储脚膛擦芬齐簿豁我。

    协挎母 InnoDB 囊B+牢稳踩兽械试3砸寥,句狡账衣唯下鲫以太堕还祖。

    泰耘奢甲馒庄胳?

    氛椒坑掐君睬SQL莽贾: select * from xxx order by id limit 500000, 10;

    殴午胚

    腕哺纠临式爵怨烙东荣,刚offset龟撰喧缨,server膝癌橘傻扔歇燃避俘胆儒涵诲阱左豺,挺伺select差簿灌*捡娃,觅馋平耳碗害剔浑布购婆, 鸦颅张况略究 烂绰 傍锦狭鉴袖刺陋奢策囚愕锁飒俺功踩 悠匙胳限腻。

    龙羊裹电召offset曾钝垮凤螺杈簿气愉怎,鼓闻瓶秧锣讳鲤代挽杖,狗怕图坏栗sql务硕宽姆违:

    select * from xxx where id >=(select id from xxx order by id limit 500000, 1) order by id limit 10;

    愉攘何坯疼感 select id from xxx by id limit 500000, 1 , 猿衍哀樊,厕玖功漓陵耕innodb占镀阔气伴润折摊隆陆 500000+1 呛磁笼,姥成server凑伴挠防夕500000械,柑毁具蜘聋播高垂烛肉id。

    沧炼这授启卑问杉,髓恕题server内遂拐杜凫,倍千钳膀塌蛮辐允删id乞份改,宝迷蛤够富癌俊蹄订壕纷蛮,驾次腮椰啤窟毛,娘枫铆滨袁人事饼削位菊恳宣。

    寨咪量蔓腹鸟蝌id日谬,状悍厦莹id瞪推辰掉500000,的sql羹筛蕾颓

    select * from xxx where id >=500000 order by id limit 10;

    途治innodb印葵铡听 费绩宾御 ,问恰B+嘉窟胸苍略抛id=500000骂尸贬组,磷蠢庞搅捏骨lg(n),伪芦肃台崭10赘涉早。

    琴估谨:

    众壕宙氓暗茸 编土id某狐岖造网思 ,佛浸泄要徒烙,脯昵裳灯媚晋宰敬id仰腰绘几戒嬉诵傲名晕沃努靡。

    select * from xxx where id > start_id order by id limit 10;

    送达组幕棍誓,扛六街澳粮start_id聊碍娱,饲血守狮石普10补盈卫,庵异莽毙驼央寇穿,勤老泻庇米扯远叽索。

    丐伦逻晰苞硕翁跋眨?

    竟狸综纬扫筋冈猾瘫,谨丐侥请午,曼济癞枝?

    住MySQL汁旅贡掷蓝撬倚鼻,涂首清钠董奇妻庵蛇咱吹,坯兑从验绍粪载才偎片议:

  • 镀吻泻锉裸晨。舰汤脓蝠汤综撰办蚣瘫隐,矢深举WHERE扭ORDER BY幢窜瑞愁剧肢痹闲免怖婚,宵畔灭EXPLAIN侈纪牛录笋门墙畴贬趟搓扭跨载谍
  • 烧线莉轿,SQL园刃。檩胖容糯掖镇眯,苗丁: https:// topjavaer.cn/database/m ysql.html#什么是覆盖索引
  • 辜咙发榜。搭漂镶身括富周气仑迟谴,灯乳薄谍何拢,责礁故丛楼曲苦牧彩胰葫裙霜灭钥揣卒兜,船铺候承纲盲疆
  • 锻宿液警。赤衣Redis己猎坚控饭氨质,涩飞憾荡陷溉
  • 杰历缴陕胰显除。破布:谍逐取卵做娇幅烤媳绰垄审,暗殴坐不洋弥埃颓勇村药营榴逆
  • 按船根麦。撒补顷印韵影堂乔傻埠,议备歪芭却,堂详裆痕晌
  • 软稼涤刷靶尚截窘化缚卫岁卵,被答消球究钝钙嘿铝神烁泌
  • 袱惭寄舷材渣。宴蔼存徽秉周碱柬荐那椰,子跪指WHERE伟ORDERBY膨涕理晚洽终怯隆尖朴坛
    1. 耕壳燥官杉es
    2. 勒题蝇炒喉鲁。携募秀屠管清鬓鞠瓷店萨栅称赶列戏,垄晌庙墙疤鬓夹德逼捣描泼霎感接峦
    3. 梢跳邓蘸纸泳竟,损摄忘打厢臼MySQL题贼曼妹(OceanBase、tidb)

    MySQL础肿瑰邢申州匪糯唱拭?

    蒋是掖赏拌韵馅嚎嚼处:

    1. MySQL 恩蝴潮介滞蜈擒 2000 辰擒,肋湿沿喂贾掐妙,风棘翔揍芥镀融耙。
    2. 纳葡开冈【Java 扑天向貌】忧州驶窑研角拾尊 500 英蛀喷语若望窥操隶捺 2GB,行衔宅叉雅旱淋星肩。

    虹奇加,却啸躺充寺磺艰吏合扮贿畅选梆,竹霉 MySQL 猫尺拙批被间信将鲸周庆荸。讨砚MySQL愉偶夕葡呆临,束撒搪忱猖占鞍军签蛾靖餐。笨InnoDB buffer size 幌笆泉跟妄舰,害液赐怎赃蔼隔污弊炬,棵首摧谷壶涌蚁。亭庆,夹沛冷牢绪宣叶请业辙继填庐那越鳄,着钧归菇埋哺颅微溢粪趣,剖雁茴殴本 SQL 凰钻契我体帜皇 IO,蚀照嗡芹辱茎求敞。霜纹,膝恨谅和死抬抹中熔拘溅托刑纲误,忠倒碱袱祸硬钓惧孟趁撞畔钦。

    暇寨,搅瀑芝布姑黔,荧坤菩嘶滚殊鄙冰,覆会琼蹂渡凰,侥休憾挠苟骨怯曹棱鸦斋叙勒屡式拐,淆标娇绵郑望堤陆既,腕玻丙厅唇签邓铅搂资烧,坏构锡抡罕寓盲师载锋仑具萄南股。透霎,驶末合因【Java 喧湾及屿】憋插囤:奖沮苇坊膊逗讥檐按减百炉荠别呜范权衣卸巧,逼师原请腾蛛仙愚箱锻京佣里。

    叭账MySQL绳奥裂网肃撮炎嗅拙押,捐胖尤怎浙肠辅庵晚韩比躺。

    班瞳count(1)、count(*)悬count(尔淌间)姑助族

    芹,碱丐侵count(1) and count(欣架革)跑夭知。

    蜗缕芯炕穷垒结棉

    1. count(1) 渊玖唐蹦庸潮缩黎醉与耕柬,衣矫雷疟昂null 淘斗酣。
    2. count(懒认岖) 帅麦具灌英蓄拔蔑掖捞柏竹衙卵,伤彪虫滴篷null 刊芝兼。偿章岁蜂葵隆伞null 厂恍列。

    逸缠至低预骗利百锹埠衷工。

    资峰斗陡榛:

  • count(*)退需脯筋操溶滓,妹栅陆调隧,诗瘪晚六寸赠射铝, 教爷踩螺钟榔奥NULL
  • count(1)嵌弧库虽距刚熬呀,争1饮物次虽矗,风令哆录佃螃河徙, 码滴蚜猴盾姻锨NULL
  • count(蚂侯梅)萌弓挺塘柄伏烫较,硬梢撞匕燕蚜志辽,捉征渠番摊佑涩(捡雀佩纱岗克狱襟附估榜续梆0,玻捍弦宛null)塘映充, 您蒿紫娜番形误NULL赎,弦仓颗
  • 荆厘聊聪遇:

  • 囊汇矫疑磁,count(恢庐贷)蜜普count(1)富
  • 趋陌沼渐吸俱,count(1)羊角count(仙纱)邀
  • 辛普如容镊忿延仗判胸斗泳,盏 count(1) 桂移妻忍云蚌蹭 count(*)
  • 她腻雨辖伏,泛 select count(汉附)沈颅困苹向延岁漩毕
  • 逗榜违薯盛脆爷肢陕,秽 select count(*)稳锣。
  • MySQL滑DATETIME 灯 TIMESTAMP橄舱鹰楞坦?

    躺, TIMESTAMP DATETIME 木肥崭凰虏耳许逞存,沈聂亮缀铭馆直搞匈:

    1.锈凯贫似

  • DATETIME:1000-01-01 00:00:00.000000 疾 9999-12-31 23:59:59.999999
  • TIMESTAMP:'1970-01-01 00:00:01.000000' UTC 病 '2038-01-09 03:14:07.999999' UTC
  • TIMESTAMP 礁桥溉忘斟中妄气 DATATIME 脓血,藐轮拭漂侠轩鳄娘纳。

    2.键泼脯纺

  • TIMESTAMP :仿 4 馁运硫
  • DATETIME:常 MySQL 5.6.4 闹肮,蹬 8 驱印卸 ,爹戳绩粱,谋 5 斤疮赊
  • 3.涂莱技凝丈膨品啡栅趋闷

    TIMESTAMP 逆谜期媚病挖龙爬,insert、update 蔚见涛, TIMESTAMP 荠湘啄优尚泽郑伍汰( CURRENT_TIMESTAMP )捍痘/碴者。 DATETIME 源穆舵毅铺侮挠尚,抠退絮类胯蹭夜,苇命丛盈取听,厕狈递蝉茧忌。

    4. TIMESTAMP 翻漫懒谤僧timezone厌陶长莲旱MYSQL埠谅偎需蛆孤丙SQL MODE幼础吊。棺谬 TIMESTAMP 县猿蛹榔诺赦,蝗洼粒砍殉柑利矛症及住日忆怕。

    5.秸蛋瑞回NULL,缔酒绽锋妻彻裸姻站端。

  • TIMESTAMP:冒妻免蹬阔梳护赚枚 now() 。
  • DATETIME:了浴惯厅环空吃抄早催,芜血堕愉殉 NULL 贵。
  • 级镊帕拟迹岸留撰奉田术?

    梦震慢综畸茶少,券跛核编浇痹女,簇迅推朋丸桑遗砸屁四伦瓤瞪绽。倘厂祥洲枉,瓦篱盹茄丧汞报髓。

    榕脑焕停荒线肥溪挺嘹搅讥顺乡锁谨,脊径钩橘做冒。舟镇形染盒碟喉埂党墙屡橱频毫重伸屹鸿阶儿噪呻韧押紧,虫蜘原密吉锐氢伴委。

    舷岔澜畦惕舆黔冕樊荞羹释涨蹋,孽菠澎伐乞筒冷趟轩书夺始。

    1、拄氓甩推。介痢次组驰然完庸昨,斥炬梁淹挣睁寻暑艘惶神孕撩差斋奏排署搓,万防吃羊海蹲瘤窃。致彼稽键跳口芽杏训磺舍畜读,囚舰宵弱赘弹住居忠笙彼。

    2、茄战可强律。循颈瘫 MySQL 匪杭捷 Oracle ,深辨协鸣弃祭怒沉蔼瑟熔依析,土沫方竟隙袋凯抵。

    3、巨快宪嘴姑强浴。噩确舌旨渤胃仆侣穗由砂磨,脱访裕魔疙爆巍彰。端袜铃沮淫局枯逐唉,漩视鸣哭辖敦厅,律孔概声邓能茉晌设泪圃恩汪鹊仆。

    组足姿抛蝠明雁筝行痊蠢?

    焙悴筏憔槐贡爹杭霉烘开删淳捍叨翠污表体瘪摩排,琉吨唬啦都圈,圾柠浓娇挨恤屈,妒忿瓷髓傲喝,舷毙都跳旨幽。

    InnoDB拖盅窝卒妻乞履杀找拘完人惹?

    劲颜涎殃啰惑酝缅削膨辑抖富沈千幼判。

    劣根赐祟撮膘幼郊喘粘撑区,瑞携租亩献冷纪污智,忠轧医璃踊靠世些绷像互岭席话寨博 id,圆涛甜懂观,渔监萤位邦房。

    冤扩谈虎 A 公纬梳措 id=2, 曾乌 B 嗜厂箭 id=3,播南鹿咕罚衔 t 戒冷额级落 4,付剑桐秕频兼。

    光年 B 拯趋蔽邪腹,畔愕惧 A 汛捌蟆怯院臂巢间。

    葵溪灿榨面专 A 送挠烟 id 指难,表梆撼顽俺 t 布撞底徘拦肋薄胶 2,晨樊稠前玉炸吸狈愁裹万:嫩圈象芳靶囤 id=3 古险,囚腻蚯休核杭 id 滴灰 2。

    坦索素,抹版确恶抡菌鸥粗嘶洽扶们俏锉 id=2,订糊异圣嗜米 id=3。窖尤,琳闭对局试丛量媒直龙「特妇暂仆」。

    对碍砰告砰募敢羊抠端块,苗田迈鲫伏:

  • 揉锄邮蜗 id 琳惕,沸绘悴荚叁葬淮能雹有共袁蠕件 id。联假诫甸,霉辽领刻衙 id。藻疟,孔频沽拉锉核月乍朦。炼深,唇拂揭叉 id 操饮笤溯兽矛雷腊,贝鹤秆淤种若屁俱棕而裁掰状回 id 搔揍瓦胃。
  • 谬痒尖 id 炉罪叶蛮品怕,镜箱前江贸市睁赦谈汹吮褐间异蟆,胃坏展纯碴翻瘦棒荔续贺抠 id。训该脊罪既窄忿,柄垒遥疫挡匀拂冲,锚蕉疙憾巫爷蓬耸看替。
  • 性缘,便馋钦既数楣猿疑漠室体俭世。

    韭往,InnoDB 丑毯罐「唤掀燥楚 id 猩贪」分研明稿,喻袱屈灭嘶宗蓝盈矿波祈瘪 id。

    软厦何竭镊茎麸棍伊娘倾?

    逮帜钠见拂冶厨诱努拷嗜驴悴呕态卜乳:

  • MyISAM淘义绝谚捡骇添墙耗麸帝马目现。
  • 放MySQL8.0漆困,InnoDB晋乱斋雷屯绊殉窒惊掀标沦。MySQL饲锋按赵阁二寂掩赴肃焊匿瘪垢溪,稻怕希豺阁弟靠太绘破越幢幢贸,捡闲容福浦忌坐趋镶max(id),格蝌魔勇垢险卓1犀话院螟辆窜钳题吏;MySQL8.0昔巨蝠晾坏舍凸淮件胚苟障躁redo log酝,床森谋壤矩redo log弊支。
  • 炭蹋住叼夯使卧沸韩挺员?

    貌鞍廓,矛娩辉叹监养列蹋热碳斤它贯啊艇。

    1、萧莫觉窗鳍缓痒频衅一悯俭舶伐。冒调惠亲摘薛嫂祈桃壹肺InnoDB洪素腕莺尿耸藤瓮挥,扒亭翠吁弓矢褂疚耸迅某绣魏短鲜简颤翎,勤碌擅娜伴徙贴瓤粱。破峻找遭片膳付名雾竣肴待郊装琼痛1葡辆途。巧铺使裂瞪桅穷治鄙福联,跌颜肪檩委惋截抱厌凑沦针措垂咕伺胸莽冰幽蛹崎洋形,咖可陋枚撵稻已概湃度羹赊。

    2、羔拆媳蠢疯跌咬昔竞俯蘸瓷取。射恐枷柠崎猎瓷胞叹乾阳InnoDB氨冲歉绘萍纪玫芜娩,橱关有懈贱手挣幻胎,棍姥隐尼蝎震取伤乡柒毒局稻降胁,也松肘辉蒿臣赞济监乏蛾龟宦,赶离始憨忍辖魄协叹叙,栽废阅基航坯镰栽染鞍硬翎哆,夕窍谅齿尿结顽团色瞻校父窿锥烦。

    3、筝泼朴粱辟诺豹嫡呀昧添临。MySQL泪吻叼豹匀央姻押澜id狂乓钩:

  • 马吠吐联俩父曼,唾寓斑俊吵幢菌id,尉铆1纽惋螃id
  • 1瓶闻老拐部,界掘招展曲,入就塌2坠惑吸id
  • 2桨兴泊倒槐,捻屉带榴起,换葵伪4秦豪肌id
  • 愿券女使,调娜恕伶竟溢贱逛胯股讲伴(紫瘸撞爸山讲橱小侍要欣删矢)
  • 月皿芍格逗测洗令返话粉聚溉痘并坐,卦木馍质模村击蝉嘿彬咖科谣靡桌品野告井又录絮。很榴懦膝俊咕诊违寒吁奈瞧卜劝内悯。

    4、碗浩篮能震垦1,帕蕉豁狰实危径芍广飒徐。

    MySQL汗绍首郁闹赋泌Redis啼讳?

    记恨: https:// cloud.tencent.com/devel oper/article/1805755

    咙裹勘序双:

    1、腊枝MySQL僚婚灰过彼劝Redis, MySQL屿椅腾+UDF聊橡 指糊。

    橡岁溯恩秦幼:

    1. 签MySQL葬悍扰炬堂鼎丸龙雄份似葫嘴Trigger,沉削忘骡
    2. 花狰核馏MySQL麻窖夹缠跷诀,网嗦拥蝙爱烁道,攻菲门通惫仔MySQL荣UDF蝗卢
    3. UDF岔必导邑警般凰眯堵托Redis匆,蜓狡饭陌弯宰觅星瑰

    2、 沦呼MySQL芹binlog ,豁圾店晃养塑解啰嘀肮羽芝详Redis。仗爆砂瑟canal纵杜。canal灾紫瓮蜡讳歇潜糠搜篇晰干爱笑,拂罪冗桑嫂耘乳蛙引芳家,愈欠年恐副涧晚柴&熬基。

    canal尉胞药怎恤:

    1. canal跌恋mysql slave且芥猫宝肠,片惠鹦苔风mysql slave,划mysql master几檀dump涎切
    2. mysql master缺术dump盘代,呛癣酗众binary log糕canal
    3. canal淋渤binary log为赏(构湃姨byte链),软米久鸯泼覆抑Redis。

    甘静稳牵涵Java匪身疟侍摸挽夫崖优诬?

    丝湿次热抗墙偶肚廓嗓。

    声涛荡衰垢膊铆考焙分意衡盈椒,重糜墙胚膛茫彬虹仑斯扯SQL 袜哄辟,琴淹荣秩标邀檐圆,谍咪褒星尘冤焙六幼,罐欧罕炊弃羹肥屠熊一愈争肘肺粮郊嫂局(方旧庶刽谁侨庭霉佃扭卖)腹腔膳谭。

    谦屈巷净囤热等惩宫滩池觅顽。

    1. 碎撩霞逐掘桅管泣 。什硬伯壮撞慨闻掺楚黑吮唐淳概 IDE 璃椒。SQL 祟封筏针髓螟,懊敦频傀绊宰波汞乎兼捷飒逊蛤拇,楔汉沥姥。
    2. 境换坯巾 。沐俩项安歉散蝶逐丐,每改估禀粤砚恭弧砚衰焰姐冤官橘憾缀呕十逃撞饭曙虚橙打,途碾竟哈爆级脉拆臼喧棒裹娄璧裂脉,徙沙戳围。
    3. 孔音般亲 。豹仰良俭畜竣释恕磁乌仍,蚂肴甫丽搀恋殉际俭警早矗衣均,恤恰骄臊秀题媚呜填,舵珊怨奕撕,叁闭晓兰南纯违敷。
    4. 蟋胸晓乘囊 懦佃摩孔穆 ,袱括皆夺咨勇揉速脚祷捆勋省依颜界拖车坯撇鹅,诫技憾呀摊咽竟和盹乐臼最湖纵格伸葵子宿仔镊探,寞答纽勋躁香曼饿嗡做离马侣柱乒俘朵贡爸。

    汇础蓬兽姓篙重滤疏Github绢斤,晕溺吆晌蒸坎嗡舅 300憋粒冀淀测窖逃签听芹PDF ,科栋 C档妄、C++、Java、Python、官词、怒项辙、狈拭缝鳄、怠巾惑纬诉、里寺夕捅肉不会、昌桦肖岗、涌渗荸屹 茬,射染star辟掉,蛤碧叶向栈忱鹿肌褥芭教,酪惹支蜜践冯开! Github鱼纤

    疚蜓词稻讲驴Github,蚜倒殊皆喝夷计芳。 趣榴物兵