项目背景

有三张百万级数据表

知识点表(ex_subject_point)9,316条数据

试题表(ex_question_junior)2,159,519条数据
有45个字段

知识点试题关系表(ex_question_r_knowledge)3,156,155条数据

测验数据库为:mysql (5.7)

一、登录

导出数据时报错

7、在 where 子句中选择参数,是不会导致全表扫描。

开垦终端,输入/usr/local/mysql/bin/mysql -u root -p

万一你是导出office 贰零零伍格式

案例深入分析

图片 1

图片 2

TITLE: SQL Server Import and Export Wizard
------------------------------

The operation could not be completed.

------------------------------
ADDITIONAL INFORMATION:

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. (System.Data)

------------------------------
BUTTONS:

OK
------------------------------

8、在 where 子句中对字段实行表达式操作,是不会促成全表扫描。不过询问速度会变慢,所以尽量防止使用。

首先踏向mysql,密码为空。当出现mysql>提示符时,表示你已经进来mysql中。键入exit退出mysql。

  正是:微软。ace.oledb.12.0”的提供者未有在本地机械上登记。

案例分析

图片 3

实行时间是1.064s

 

 如果您是导出office 二零一五格式

优化方案

SELECT ex_question_junior.QUESTION_ID
FROM ex_question_junior 
WHERE ex_question_junior.QUESTION_CHANNEL_TYPE =4/2;

推行时间是0.012s

二、改动Mysqlroot顾客密码

The 'Microsoft.ACE.OLEDB.16.0' provider is not registered on the local machine. (System.Data)

9、应尽量制止在where子句中对字段进行函数操作,那将导致斯特林发动机扬弃行使索引而进展全表扫描。

转移mysql root 顾客密码,在顶峰输入/usr/local/mysql/bin/mysqladmin -u
root password新密码

减轻格局:

案例分析

图片 4

图片 5

安装AccessDatabaseEngine.exe。

优化方案

SELECT *
FROM ex_subject_point 
WHERE CREATE_DT >= "2018-05-31"
AND CREATE_DT < "2018-07-01"

 

而是EXPLAIN一下,发掘这么照旧全表扫描的

图片 6

莫不是是因为日子字段索引未有意义啊?依旧因为用了>=和<运算符号?

来证澳优下

缩短查询范围,开采索引是有作用的。所以不是日期字段的标题。

图片 7

换个字段查询,用>=和<运算符号,索引照旧有意义的。但那是何等来头呢?

图片 8

新兴去网络寻觅了素材,原因是询问数量是超过表的一局地,mysql伍分一,oracle
五分之一(那个数额或然不确切,不是合法证实,仅供参考),导致索引失效。

安装新的密码,再度输入/usr/local/mysql/bin/mysql -u root -p登陆:

office 2007版:
下载路线:

10.决不在 where 子句中的“=”左边进行函数、算术运算或另外表明式运算,不然系统将可能无法正确运用索引。

事例请看第8点和第9点。

图片 9

office 2010版:

11.在动用索引字段作为标准时,假使该索引是复合索引,那么必需运用到该索引中的第一个字段作为基准时才具保障系统使用该索引,不然该索引将不会被应用(那个在mysql中不对),并且应尽量的让字段顺序与索引顺序相平等。

 

下载路线:

案例剖判

复合索引字段:PATH,PARENT_POINT_ID

图片 10

轮换WHERE子句中的条件顺序。开掘依然足以采纳索引的

图片 11

复合索引只询问第一个字段,是有效应的

图片 12

复合索引只询问第二个字段,开采索引未有效果了。

图片 13

三、创制客商

office 2016版:

12.毫不写一些尚未意思的询问,如须要生成贰个空表结构:(通常开辟也不会如此无聊啊,在标准的种类上写这种东西)

select col1,col2 into #t from t where 1=0

那类代码不会回去任何结果集,不过会损耗系统财富的,应改成那样:

create table #t(…)

参考:

***************************************************************************

作者:小虚竹
应接任何款式的转发,但请必得申明出处。
遏制自家水平,即便文章和代码有表达不当之处,还请多多关照。

 

以root身份登陆mysql:

下载路线:

图片 14

要么上面包车型大巴链接里都有上述版本:

始建八个顾客,键入insert into mysql.user(Host,User,Password)
values(“localhost”,”新顾客”,password(“密码”));

链接: 密码:4bh3

图片 15

 

刷新系统权限表,键入 flush privileges;

安装注意:

如此那般就创设了贰个顾客名称为Lands,密码为Lands的顾客。尝试用新客商密码登陆:

假如你只设置七个的话只要看对版本安装就能够,若是您想安装八个本子,方便导出的话应该先安装2014版->二〇〇八->二〇〇五,不然会报错。

图片 16

 

四、删除顾客

发表评论

电子邮件地址不会被公开。 必填项已用*标注