1. 程式人生 > 其它 >MySQL 面試選擇題15道(單選)

MySQL 面試選擇題15道(單選)

1、MySQL資料庫四種特性,不包括()

A.原子性

B.事務性

C.一致性

D.隔離性

2、MySQL報錯error 1062 的意思是()

A.連線資料庫失敗,沒有連線資料庫的許可權

B.欄位值重複,入庫失敗

C.未定義使用者對資料表的訪問許可權

D.刪除資料庫檔案失敗

3、MySQL主從架構如下:

主庫 從庫

192.169.1.1 192.168.1.2

需要在從庫上採用mysqldump備份並記錄主庫binlog、Position點,需要加哪個引數(不考慮其他引數) ()

A.--master-date

B.--single-transaction

C.--dump-slave

D.--opt

4、以下哪個不能有效減小從庫延遲時間()

A.主庫進行update操作時where後條件沒有索引,新增索引

B.主庫有大事物,增加快取,非同步寫入資料庫,減少直接對db的大量寫入

C.主庫併發更新寫入頻繁,從庫設定innodb_flush_log_at_trx_commit=1及sync_binlog=1

D.資料庫中存在大量myisam表,修改表結構為innodb儲存引擎的表

5、表test(a int,b int,time date)涉及以下3條sql:

select * from test where a=1 and b=1;
select * from test where b=1;
select * from test where b=1 order by time desc;

只建一個索引,如何建最優()

A.idx_ab(a,b)

B.idx_ba(b,a)

C.idx_abtime(a,b,time)

D.idx_btime(b,time)

6、MySQL中InnoDB引擎的行鎖是通過加在什麼上完成(或稱實現)的:()

A.資料塊

B.索引值

7、關於MySQL許可權說法正確的是()

A.管理許可權(如super, process, file等)不能夠指定某個資料庫,on後面必須跟 *.*

B.如需要truncate許可權只需授予drop許可權

C.super許可權允許使用者終止任何查詢,但不允許修改全域性變數的set語句

D.建立一個使用者時,需要單獨授予usage連線許可權

8、關於select count(*)和select count(1)以及select count(column)區別,說法錯誤的是()

A.如果表沒有主鍵, 那麼count(1)比count(*)快

B.如果表有主鍵,那主鍵作為count的條件時候count(主鍵)最快

C.如果表沒有主鍵,只有一個column的話,那count(column)最快

D.count(*)跟count(1)的結果一樣,都包括對NULL的統計,而count(column)是不包括NULL的統計

9、使用SQL語句進行分組檢索時,為了去掉不滿足條件的分組,應當()

A.使用WHERE子句

B.在GROUPBY後面使用HAVING子句

C.先使用WHERE子句,再使用HAVING子句

D.先使用HAVING子句,再使用WHERE子句

10、關於SQL優化,以下說明哪個是錯誤的()

A.類似分頁功能的SQL,建議先用主鍵關聯,然後返回結果集,效率會高很多

B.通常情況下,join的效能比較差,建議改造成子查詢寫法

C.多表聯接查詢時,關聯欄位型別儘量一致,並且都要有索引

D.儘可能不使用TEXT/BLOB型別,確實需要的話,建議拆分到子表中,不要和主表放在一起,避免SELECT* 的時候讀效能太差

11、Linux作業系統下,關於MySQL大寫小問題正確的是()

A.column(包括別名)、index、storedroutine和event names的大小寫敏感

B.database、table(包括別名)的大小寫敏感性可以通過系統引數“lower_case_table_names”來配置,等於1時大小寫敏感

C.trigger、identifiers(識別符號)的大小寫敏感性受lower_case_table_names引數影響

D.資料敏感性:校對字符集(Collation)可通過show collation檢視,其中“_ci”代表case-insensitive大小寫不敏感,“_cs”代表case-sensitive大小寫敏感,“_bin”的大小寫敏感依賴於character的二進位制編碼

12、MySQL delete from table where後哪項操作不會釋放磁碟物理空間()

A.optimize table tablename;

B.alter table tablename add column ;

C.alter table tablename engine=innodb;

D.rename table tablename to tablename_new;

13、MySQL在RR事物隔離級別下,更新條件為索引欄位,並非 唯一索引(包括主鍵索引)時,會通過Next-Key Lock解決幻讀問題。以下哪項不會加此鎖()

A.Inser into…

B.Select… from… for update;

C.Update…from… where

D.Insert into T select … from S where…;

14、MySQLSleep執行緒過多,以下操作不正確的是()

A.設定interactive_timeout引數,減小wait_timeout等待超時時間

B.php程式不要使用長連線,java程式調整連線池

C.開啟mysql慢查詢

D.檢查應用連線情況,增加連線數

15、表結構如下:

CREATE TABLE `test` (
  `id`int(11) NOT NULL AUTO_INCREMENT,
  `uid`int(11) DEFAULT NULL,
  `name`char(20) DEFAULT '0' NOT NULL,
  `phone` int(11) DEFAULT NULL,
  `email`varchar(20) DEFAULT NULL,
  PRIMARYKEY (`id`),
  KEY`idx_name` (`name`(5)),
  KEY`idx_phone` (`phone`), 
  KEY`idx_email` (`email`) 
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULTCHARSET=utf8;

請問idx_name、idx_email及idx_addr索引長度分別是多少 ()

A.15,4,62

B.15,5,63

C.16,4,62

D.16,5,63


參考答案:BBCCD BACBB DDADB