发表于: 2017-12-07 07:45:08
1 861
今天完成的事:
查看表的索引: describe test;
( 一 )添加数据库索引:
1.添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` )
CREATE UNIQUE INDEX index_name ON table_name (’column‘)
3.添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
CREATE INDEX index_name ON table_name (’column‘)
4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
其中table_name是要增加索引的表名,column 指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以在同时创建多个索引。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。
( 二 )删除索引:
删除索引可以使用ALTER TABLE或DROP INDEX语句来实现。DROP INDEX可以在ALTER TABLE内部作为一条语句处理,其格式如下:
drop index index_name on table_name ;
alter table table_name drop index index_name ;
alter table table_name drop primary key ;
其中,在前面的两条语句中,都删除了table_name中的索引index_name。而在最后一条语句中,只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。
如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。
( 三 )是否有索引插入数据做对比
不管是否创建了索引插入10条数据,navicat 软件显示的时间均为0.000s,因此用 Javascript 在网页上随机的产生190条数据。
Javascript代码如下: |
<script>
var mz = ["马云","金日成","成吉思汗","屠呦呦","奥巴马","贝克汉姆","史泰龙","韩寒","霍金","普京"]; var type = ["c++","c#","java","css","php","javascript","html"]; var rand = "天上白玉京,十二楼五城.仙人抚我顶,结发受长生.误逐世间乐,颇穷理乱情.九十六圣君,浮云挂空名. 天地赌一掷,未能忘战争.试涉霸王略,将期轩冕荣.时命乃大谬,弃之海上行.学剑翻自哂,为文竟何成. 剑非万人敌,文窃四海声.儿戏不足道,《五噫》出西京.临当欲去时,慷慨泪沾缨.叹君倜傥才,标举冠群英. 开筵引祖帐,慰此远徂征.鞍马若浮云,送余骠骑亭. 歌钟不尽意,白日落昆明.十月到幽州,戈鋋若罗星. 君王弃北海,扫地借长鲸.呼吸走百川,燕然可摧倾.心知不得意,却欲栖蓬瀛.弯弧惧天狼,挟矢不敢张. 揽涕黄金台,呼天哭昭王.无人贵骏骨,騄耳空腾骧.乐毅倘再生,于今亦奔亡.蹉跎不得意,驱马还贵乡. 逢君听弦歌,肃穆坐华堂.百里独太古,陶然卧羲皇.征乐昌乐馆,开筵列壶觞.贤豪间青娥,对烛俨成行. 醉舞纷绮席,清歌绕飞梁.欢娱未终朝,秩满归咸阳. 祖道拥万人,供帐遥相望.一别隔千里,荣枯异炎凉. 炎凉几度改,九土中横溃.汉甲连胡兵,沙尘暗云海.草木摇杀气,星辰无光彩.白骨成丘山,苍生竟何罪. 函关壮帝居,国命悬哥舒.长戟三十万,开门纳凶渠.公卿如犬羊,忠谠醢与菹.二圣出游豫,两京遂丘墟. 帝子许专征,秉旄控强楚.节制非桓文,军师拥熊虎.人心失去就,贼势腾风雨.惟君固房陵,诚节冠终古. 仆卧香炉顶,餐霞漱瑶泉.门开九江转,枕下五湖连. 半夜水军来,浔阳满旌旃.空名适自误,迫胁上楼船. 徒赐五百金,弃之若浮烟.辞官不受赏,翻谪夜郎天.夜郎万里道,西上令人老.扫荡六合清,仍为负霜草. 日月无偏照,何由诉苍昊.良牧称神明,深仁恤交道.一忝青云客,三登黄鹤楼.顾惭祢处士,虚对鹦鹉洲. 樊山霸气尽,寥落天地秋.江带峨眉雪,川横三峡流.万舸此中来,连帆过扬州.送此万里目,旷然散我愁. 纱窗倚天开,水树绿如发.窥日畏衔山,促酒喜得月. 吴娃与越艳,窈窕夸铅红.呼来上云梯,含笑出帘栊. 对客《小垂手》,罗衣舞春风.宾跪请休息,主人情未极.览君荆山作,江鲍堪动色.清水出芙蓉,天然去雕饰. 逸兴横素襟,无时不招寻.朱门拥虎士,列戟何森森.剪凿竹石开,萦流涨清深.登楼坐水阁,吐论多英音. 片辞贵白璧,一诺轻黄金.谓我不愧君,青鸟明丹心.五色云间鹊,飞鸣天上来.传闻赦书至,却放夜郎回. 暖气变寒谷,炎烟生死灰.君登凤池去,忽弃贾生才. 桀犬尚吠尧,匈奴笑千秋.中夜四五叹,常为大国忧. 旌旆夹两山,黄河当中流.连鸡不得进,饮马空夷犹.安得羿善射,一箭落旄头"; var add="insert into ENTER_INFO (E_NAME,E_QQ,E_TYPE,E_SCHOOL,E_ONLINEID,E_DIAERY,E_HOPE,E_BORTHER,E_FROM,E_CREATE_at,E_UPDATE_AT)values";
var oP = document.createElement("p"); oP.innerHTML = add; var len = rand.length; for(var i = 0 ; i<190 ; i++){ var xm = getWord(3); oP.innerHTML += '("'+xm+'",89873456,"'+type[i%7]+'学习者","甄姬大学",2018'+(1+i)+',"2017月12月12日","'+getWord(10)+'","'+mz[i%9]+'","来自知呼",'+new Date().getTime()+','+new Date().getTime()+'),'; } document.body.appendChild(oP); function getWord(num){ var word=""; num = num || 1; for(var i=0; i<num; i++){ var z = rand[Math.floor(Math.random()*len)]; if(z=="." || z=="," || z=="《" || z=="》"){ z= ""; } word +=z; } return word; } </script> |
创建了普通索引插入数据如图:0.01s
没有创建索引插入数据如图:0.02s
看结果还是添加索引的表,插入数据会变得慢。给enter_info 表创建在字段 E_NAME 的普通索引,内部会按照字符编码集进行排序。新插入的数据也会按照这种编码集进行排序,而没有添加索引的 enter_info 表插入数据时直接添加在表的最后面就可以。
给姓名建索引,思考一下还应该给哪些数据建索引?
我认为还可以给 e_qq 、 e_type 、e_start 、e_onlineid 、e_borther 、e_create_at 、e_update_at 。可以给那些经常被作为查询添加的字段并且该字段的数据容易控制的这些添加对应的索引。
二、maven3 与 eclipse 的配置
https://jingyan.baidu.com/album/9f7e7ec0b714ae6f29155465.html?picindex=2
三、JDK和JRE的区别 http://ihyperwin.iteye.com/blog/1513754
jdk (java development kit ): JDK,开发java程序用的开发包,JDK里面有java的运行环境(JRE),包括client和server端的。需要配置环境变量.
jre (java runtime environment ):运行java程序的环境,JVM,JRE里面只有client运行环境,安装过程中,会自动添加PATH
今天遇的问题:
(1)maven环境变量配置完成后,运行 mvn -v ,结果如图这样应该是成功了吧?
明天计划的事:
用java程序语言来操作mysql数据库。
评论