1. 程式人生 > 資料庫 >詳解mysql許可權和索引

詳解mysql許可權和索引

mysql許可權和索引

mysql的最高使用者是root,

我們可以在資料庫中建立使用者,語句為CREATE USER 使用者名稱 IDENTIFIED BY '密碼',也可以執行CREATE USER 使用者名稱 語句來建立使用者,不過此使用者沒有密碼,可以將使用者登入後進行密碼設定;刪除使用者語句為DROP USER 使用者;更改使用者名稱的語句為RENAME USER 老使用者名稱 to 新使用者名稱;

修改密碼語句為set password=password('密碼');

高階使用者修改別的使用者密碼的語句為SET PASSWORD FOR 使用者=PASSWORD('密碼'); 。

image

關於賦予許可權的操作有以下幾種,

檢視使用者許可權語句為show grants for 使用者;

賦予使用者許可權語句為grant 許可權 on.to 使用者,第一個號代表資料庫,第二個號代表要賦予許可權的表;

取消使用者許可權的語句REVOKE CREATE ON.FROM 使用者;重新整理的語句是FLUSH PRIVILEGES。

image

mysql的索引可以讓我們對資料庫中資料的查詢提供更快的速度,我們在程式設計的時候,條件上使用類那個列,就可以將查詢涉及到的列設計為索引。

索引有普通索引,設為普通索引對列的資料沒有影響,但是對資料的查詢速度進行了優化;唯一索引設為唯一索引的列中的值是唯一的,同樣也是對資料的查詢速度進行了優化;主鍵索引就是設為主鍵列會自動新增主鍵索引,一個表只能有一個主鍵列,此列不允許有空值,一般是在建表的時候同時建立主鍵索引;全文索引主要用來查詢文字中的關鍵字,而不是直接與索引中的值相比較。fulltext索引跟其它索引大不相同,它更像是一個搜尋引擎,而不是簡單的where語句的引數匹配。fulltext索引配合match against操作使用,而不是一般的where語句加like。它可以在create table,alter table ,create index使用,不過目前只有char、varchar,text 列上可以建立全文索引。值得一提的是,在資料量較大時候,現將資料放入一個沒有全域性索引的表中,然後再用CREATE index建立fulltext索引,要比先為一張表建立fulltext然後再將資料寫入的速度快很多;還有組合索引,這種索引可以將兩個列聯合起來作為條件一起查查詢,單獨一個列作為條件查詢不會有索引的效果。

建立索引的語句為CREATE 索引種類[不寫為普通索引] INDEX 索引名稱 ON 表(列)。

刪除索引語句為DROP INDEX 索引名稱ON 表。

索引的缺點:

1.雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對錶進行insert、update和delete。因為更新表時,不僅要儲存資料,還要儲存一下索引檔案。

2.建立索引會佔用磁碟空間的索引檔案。一般情況這個問題不太嚴重,但如果你在一個大表上建立了多種組合索引,索引檔案的會增長很快。索引只是提高效率的一個因素,如果有大資料量的表,就需要花時間研究建立最優秀的索引,或優化查詢語句。

image

以上就是關於mysql許可權和索引的知識內容的全部,感謝你對我們的支援。