一、 Mysql简介
- MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言,它使得存储、更新和存取信息更加容易。MySQL是一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和许多不同的客户程序以及库组成的。
- MySQL的主要目标是快速、健壮和易用。最初是因为MySQL的创始人需要这样的一个SQL服务器,它能处理与任何不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL因此就开发出来了。
二、 Mysql安装
- 下载安装包,打开下载的mysql安装文件双击解压缩。运行“setup.exe”,mysql安装向导启动。
- 点击“Next”继续下一步选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,选择“Custom”, 点击“next”键继续。
- 点选“Change”,手动指定安装目录。此部分建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。
- 确认一下先前的设置,如果有误,点击“Back”返回重做。确认正确后,点击“Install”开始安装。
三、 Mysql配置
- 安装完成后点击“Finish”结束软件的安装并启动mysql配置向导。
- mysql配置向导启动界面,按“Next”继续。选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”。选择“Detailed Configuration”,方便熟悉配置过程。
- 选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”。
- 选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),选择完成后点击“Next”继续。
- 选择网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输入一个数)”,选择完成后点击“Next”继续。
- 否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了。在这个页面上,可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。
- 对mysql默认数据库语言编码进行设置,一般选UTF-8。
- 选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名)。
- 询问是否要修改默认root用户(超级管理员)的密码,如果要修改,就填入新密码。
- 确认设置无误后,点击“Execute”使设置生效。设置完毕,点击“Finish”结束mysql的安装与配置。
四、 Mysql优化
- 对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引。
- 应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描。
- 应尽量避免在where子句中使用!=或<>操作符,否则将导致引擎放弃使用索引而进行全表扫描。
- 应尽量避免在where子句中使用or来连接条件,否则将导致引擎放弃使用索引而进行全表扫描。
- in和not in也要慎用,否则将导致全表扫描。
- 该查询也将导致全表扫描:select id from t where name like ‘%abc%’。
- 应尽量避免在where子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描。
- 应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描。
- 不要在where子句中的“=”左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引。
- 在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用,并且应尽可能的让字段顺序与索引顺序相一致。