签到成功

知道了

CNDBA社区CNDBA社区

Mysql OCP 42题

2021-12-12 22:45 4462 0 原创 mysql
作者: hbhe0316

Consider the table people with the definition:
CREATE TABLE ‘people’ (
‘id’ int (10) unsigned NOT NULL AUTO_INCREMENT,
‘FirstName’ varchar (40) NOT NULL,
‘Surname’ Varchar (40) NOT NULL,
‘Birthday’ date NOT NULL,
PRIMARY KEY (‘id’),
KEY ‘Surname’ (‘Surname’, ‘FirstName’),
KEY ‘FirstName’ (‘FirstName’),
KEY ‘Birthday’ (‘Birthday’)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
The application uses a query such as:
SELECT * FROM people WHERE YEAR(Birthday) = 1980;
The query is not using an index.
Which two methods can be used to allow the query to use an index?
A. Change the WHERE clause to Birthday BETWEEN 1980-01-01 AND 1980-12-31.
B. Add a functional index for YEAR(Birthday).
C. Execute ANALYZE TABLE to update the index statistics.
D. Add a generated column calculating YEAR(Birthday) and index that column.
E. Add FORCE INDEX (Birthday) to the query.
Answer: AD

http://www.cndba.cn/hbhe0316/article/22781
http://www.cndba.cn/hbhe0316/article/22781
http://www.cndba.cn/hbhe0316/article/22781http://www.cndba.cn/hbhe0316/article/22781http://www.cndba.cn/hbhe0316/article/22781http://www.cndba.cn/hbhe0316/article/22781http://www.cndba.cn/hbhe0316/article/22781

People表的定义如下:
CREATE TABLE ‘people’ (
‘id’ int (10) unsigned NOT NULL AUTO_INCREMENT,
‘FirstName’ varchar (40) NOT NULL,
‘Surname’ Varchar (40) NOT NULL,
‘Birthday’ date NOT NULL,
PRIMARY KEY (‘id’),
KEY ‘Surname’ (‘Surname’, ‘FirstName’),
KEY ‘FirstName’ (‘FirstName’),
KEY ‘Birthday’ (‘Birthday’)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
应用的查询语句如下:
SELECT * FROM people WHERE YEAR(Birthday) = 1980;
该语句没有使用索引,下面哪两种方法可以使上述SQL使用到索引?
A.将WHERE条件修改为Birthday BETWEEN 1980-01-01 AND 1980-12-31
B.增加函数索引YEAR(Birthday)
C.执行ANALYZE TABLE
D.增加YEAR(Birthday)索引
E.增加hint:FORCE INDEX (Birthday)http://www.cndba.cn/hbhe0316/article/22781http://www.cndba.cn/hbhe0316/article/22781http://www.cndba.cn/hbhe0316/article/22781

版权声明:本文为博主原创文章,未经博主允许不得转载。

MYSQL

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:2654916次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ