2021年6月19日
#
2018年10月25日
#
DB引擎:InnoDB
两表A,B表均为6W+的记录。用B表的信息更新A表。
SQL:update A left join B on A.field1 = B.field1 and A.field2 = B.field2
set A.field3 = B.
field3, A.field4 = B.field4
无引擎时:每1000更新需要2分11秒,全部更新大概需要2~3小时。
此时加入索引:CREATE INDEX field1_Index ON `A`(`field1`);
注:1、此处只加field1是因为 field2的内容变化很小,就那几个值。
2、此SQL里的字段都不是主键
再次执行SQL,效率依旧。似乎索引没有作用。为了验证我的想法,查看了执行方式:
explain update A left join B on A.field1 = B.field1 and A.field2 = B.field2 set A.field3 = B.field3, A.field4 = B.field4
果然在执行时,没用到索引。找到症结,那就继续找为什么索引没有被用的原因。
查找过程省略,直接上结果。
因为是update,所以我认为 左联和直联,对于结果没有区别,但是从左联改为直联后,
再查询执行方式,发现就能使用索引(原因暂不知道,以后知道了再写)
于是再次执行如下SQL:
update A inner join B on A.field1 = B.field1 and A.field2 = B.field2 set A.field3 = B.field3, A.field4 = B.field4
6W+的数据执行时间:1.43秒
优化完毕。
另,因为以上字段都非主键,所以 SQL修改成以下方式执行似乎更快,查询执行方式,用到了主键索引和我自己加的索引
update A left join B on A.field1 = B.field1 and A.field2 = B.field2
set A.field3 = B.field3, A.field4 = B.field4
where A.key in (select key from A)
附:
删除索引:drop INDEX field1_Index ON `A`;
查看索引:show index from A
查看线程:select * from information_schema.processlist t
show processlist
杀线程: kill processId
2007年1月31日
#
2006年2月22日
#
COBOL的项目就要结束了,下个项目就是.NET.说实在话,我是比较期待,但是如果是C#,我就更加的HAPPY了,偏偏要是VB.NET,看了半天,发现怎么就那么的奇怪呢!就感觉看一段没有断句的文言文!还好,现在装了个中文的MSDN,比以前看日文的MSDN要舒服多了,MD,看起来真费劲!
今天看VB.NET的代码,突然有种感觉,就像刚到深圳去实习,看人家以前做的项目的代码一样,好费劲,很多的关键字,咋一看还不知道,稍一迷糊就看到后面,突然发现前面的几句代码是啥意思啊!不知道做的时候又是什么样一种感觉,总的来说就是奇怪!ff
2006年1月24日
#
就要过年了,我却离家太远,不能回去过年,生平以来第一次不在家里过年,这是我出来工作的第一个年头就在外乡过!
真的好想回家,想念家里的父母,不知道他们身体是否还好!想念我那从小生活的地方,想回到我以前住过的房间睡上一晚!
2006年1月9日
#
6:30 起床(起床之后,一定要吻一下正在熟睡的老婆
的脸,但动作要轻,不得吵醒老婆 )
6:35--7:00 煅炼身体(在老婆要抱的时候,可以轻易抱
上七楼;在老婆受到欺负的时候 可以以一敌十)
7:00--7:15 打开音响,叫老婆起床(一日之计在于晨,
这时候的女人这是一日之中最可爱的时候,一般都会有点撒娇,
叫起床时,一定要温柔,动作要轻,轻轻地搂起来)
7:15--7:30 帮老婆穿衣服(千万要小心,如果像麦当娜
一样,把内衣穿在外面的话,那我就等死吧)
7:30--7:45 和老婆一起洗漱(有三要:要帮老婆挤好牙
膏,要帮老婆放好洗脸水,要帮老婆梳头)
7:45--8:00 送老婆上班(以最快的速度送她上公车)
8:45--8:30 自己上班
8:30--12:00 上班(努力工作,有事做要做,没事做找出
事也要做)
12:00--12:10 打电话给老婆(问老婆上午过得怎么样,
中午要吃什么东西……这个不用教了?)
12:10--12:40 吃工作餐(记住,一定要吃工作餐,不得
吃别的东东,就算吃了别的东东,价格也不可以超过5元)
12:40--13:00 小栖片刻(为了下午更好的工作,一定要
小栖,不得在公司四处看小mm)
13:00--17:30 努力工作(不努力工作怎么养老婆?)
17:30--18:00 接老婆下班(看情况,不加班的时候!一定要准时,不得让老婆久等)
18:00--19:00 陪老婆逛街(逛街是男人的必修课,每天必修。其间,老婆要买什么东西,一定要大方,不得有嫌贵不买之行为,如果老婆不买什么东西,一定要买东西送给老婆)
19:00--20:00 吃饭(老婆做,不能把她宠坏了)
20:00--22:00 陪老婆(老婆要看电视,不得换台;老婆要聊天,不得不理)
22:00--22:20 洗澡(为节约用水,一定要和老婆一起洗,帮老婆搓背)
22:20 睡觉(被子要先铺好,老婆要抱好,不得比老婆先睡着)