標籤:
聲明:本欄目所使用的素材都是凱哥學堂VIP學員所寫,學員有權匿名,對文章有最終解釋權;凱哥學堂旨在促進VIP學員互相學習的基礎上公開筆記。
mysql許可權和索引
mysql的最高使用者是root,
我們可以在資料庫中建立使用者,語句為CREATE USER 使用者名稱 IDENTIFIED BY ’密碼’,也可以執行CREATE USER 使用者名稱 語句來建立使用者,不過此使用者沒有密碼,可以將使用者登入後進行密碼設定;刪除使用者語句為DROP USER 使用者;更改使用者名稱的語句為RENAME USER 老使用者名稱 to 新使用者名稱;
修改密碼語句為set password=password(’密碼’);
進階使用者修改別的使用者密碼的語句為SET PASSWORD FOR 使用者=PASSWORD(’密碼’); 。
關於賦予許可權的操作有以下幾種,
查看使用者權限語句為show grants for 使用者;
賦予使用者權限語句為grant 許可權 on . to 使用者,第一個號代表資料庫,第二個號代表要賦予許可權的表;
取消使用者權限的語句REVOKE CREATE ON . FROM 使用者;重新整理的語句是FLUSH PRIVILEGES。
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.建立索引會佔用磁碟空間的索引檔案。一般情況這個問題不太嚴重,但如果你在一個大表上建立了多種複合式索引,索引檔案的會增長很快。索引只是提高效率的一個因素,如果有大資料量的表,就需要花時間研究建立最優秀的索引,或最佳化查詢語句。
mysql許可權和索引