1 / 4
文档名称:

Mysql面试笔试题.pdf

格式:pdf   大小:255KB   页数:4页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Mysql面试笔试题.pdf

上传人:闰土 2023/3/7 文件大小:255 KB

下载得到文件列表

Mysql面试笔试题.pdf

相关文档

文档介绍

文档介绍:该【Mysql面试笔试题 】是由【闰土】上传分享,文档一共【4】页,该文档可以免费在线阅读,需要了解更多关于【Mysql面试笔试题 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。MYSQL面试题:简单叙述一下MYSQL的优化
.数据库的设计
尽量把数据库设计的更小的占磁盘空间.
1).尽可能使用更小的整数类型.(mediumint就比int更合适).
2).尽可能的定义字段为notnull,除非这个字段需要null.
3).如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录
格式比如char.
4).

5).只创建确实需要的索引。索引有利于检索记录,但是不利于快速保存
记录。如果总是要在表的组合字段上做搜索,那么就在这些字段上创建
索引。
字段,首先就应该多复制这些字段,使索引更好的压缩。
6).所有数据都得在保存到数据库前进行处理。
7).所有字段都得有默认值。
8).在某些情况下,把一个频繁扫描的表分成两个速度会快好多。在对动
态格式表扫描以取得相关记录时,它可能使用更小的静态格式表的情况
下更是如此。

1).尽量使用长连接
2).explain复杂的SQL语句。
3).如果两个关联表要做比较话,做比较的字段必须类型和长度都一致.
4).
次fulltablescan.
5).如果想要清空表的所有纪录,建议用truncatetabletablename
而不是deletefromtablename.
6).能使用STOREPROCEDURE或者USERFUNCTION
的时候
7).
infile来导入大量数据,这比单纯的indert快好多.
8).经常OPTIMIZETABLE来整理碎片.
9).还有就是date类型的数据如果频繁要做比较的话尽量保存在
unsignedint类型比较快。

1).磁盘搜索.
并行搜索,把数据分开存放到多个磁盘中,这样能加快搜索时间.
2).磁盘读写(IO)
可以从多个媒介中并行的读取数据。
3).CPU周期

4).内存带宽
当CPU要将更多的数据存放到CPU的缓存中来的话,内存的带宽就成
了瓶颈.
mysql如何实现高效分页
先看一下分页的基本原理(我拿的是CSDN那个百万级数据库来测
试!):
SELECT*FROM`csdn`ORDERBYidDESCLIMIT100000,2000;
耗时:
分析:对上面的mysql语句说明:limit100000,2000的意思扫描满足条
件的102000行,扔掉前面的100000行,返回最后的2000行。
问题就在这里,如果是limit100000,20000,需要扫描120000行,在一
个高并发的应用里,每次查询需要扫描超过100000行,性能肯定大打
折扣。
在《efficientpaginationusingmysql》中提出的clue方式。
利用clue方法,给翻页提供一些线索,比如还是SELECT*FROM
`csdn`orderbyiddesc,按id降序分页,每页2000条,当前是第50页,
当前页条目id最大的是102000,最小的是100000。如果我们只提供上
一页、下一页这样的跳转(不提供到第N页的跳转)。
那么在处理上一页的时候SQL语句可以是:
SELECT*FROM`csdn`WHEREid<=102000ORDERBYidDESC
LIMIT2000;#上一页
耗时:
处理下一页的时候SQL语句可以是:
SELECT*FROM`csdn`WHEREid>102000ORDERBYidASC
LIMIT2000;#下一页
耗时:
这样,不管翻多少页,每次查询只扫描20行。效率大大提高了!
但是,这样分页的缺点是只能提供上一页、下一页的链接形式。