本文主要是介绍今天进行了cvte的一面,感觉特糟糕,对自己五星差评,以下为总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
cvte一面即终面 3-11考官给的第一个问题是:给定两个表,一个student(id,name),一个cource(id,stuid,subid(课程id),cource(单门课程的分数)),
让查询出总分数大于300的前三名学生的id,姓名以及总分 ?
答:这个当时没写出来,事后仍然没写出来,真的水平这么水吗?还是他问题出的有毛病?还是我听错了,看官知道解法的请艾特我,
不胜感激!
受指教后的答案:SELECT s.id,s.name,SUM(c.subcource) FROM student s,cource c WHERE s.id=c.stuid GROUP BY c.stuid HAVING
SUM(c.subcource)>300 ORDER BY SUM(c.subcource) DESC LIMIT 0,3
还问了 如何往student中插一个int型的age字段并且默认为0,我回答了:alter table student add age int default 0;
数据库加索引的好处?
建立索引的好处
创建索引可以大大提高数据库系统的查询性能。
a) 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
b) 可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
c) 可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
d) 在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
e) 通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。?
建立索引需要付出的代价
建立索引的目的是加快对表中记录的查找或排序。但是为表设置索引是要付出代价的:这个代价有几个个方面
a) 索引需要占物理空间
除了数据表占数据空间之 外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
b) 创建索引和维护索引要耗费时间
这种时间随着数据量的增加而增加。
c) 降低维护速度
当对表中的数据进行增加、删除和修改的时候,索引也要动态的维 护,这样就降低了数据的维护速度,同样降低了效率。
还问了mysql 的存储引擎:问你的mysql用的是什么引擎,我答用的是默认的那个InnoDB,还问的InnoDB的特点?我没回答上来都囊了几句
自己都不知道说的啥,总结InnoDB,ISAM和MyISAM的特点?
答:纠正,mysql默认使用的是MySIAM引擎,自抽一巴掌,下边是InnoDB和MyISAM的特点:
InnoDB引擎特点: (一下特性均提高了多用户并发操作的性能表现)
一:提供了具有事务提交,回滚和崩溃能力修复能力的事务安全型表;
二:提供了行锁,提供与Oracle类型一致的不加锁读取;
三
这篇关于今天进行了cvte的一面,感觉特糟糕,对自己五星差评,以下为总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!