<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦——學設計>網頁設計>網站建設>網站服務器管理>

        優化數據庫需要什么性能方法_優化數據庫性能有哪些方法

        時間: 宇民40 分享

          在Web應用程序體系架構中,數據持久層是關鍵的核心部分,它對系統的性能有非常重要的影響。下面由學習啦小編為大家整理的優化數據庫性能的方法,希望大家喜歡!

          優化數據庫性能的方法

          1.表進行水平劃分

          如果一個表的記錄數太多了,比如上千萬條,而且需要經常檢索,那么我們就有必要化整為零了。如果我拆成100個表,那么每個表只有10萬條記錄。當然這需要數據在邏輯上可以劃分。一個好的劃分依據,有利于程序的簡單實現,也可以充分利用水平分表的優勢。比如系統界面上只提供按月查詢的功能,那么把表按月拆分成12個,每個查詢只查詢一個表就夠了。如果非要按照地域來分,即使把表拆的再小,查詢還是要聯合所有表來查,還不如不拆了。所以一個好的拆分依據是 最重要的。

          2.對表進行垂直劃分

          有些表記錄數并不多,可能也就2、3萬條,但是字段卻很長,表占用空間很大,檢索表時需要執行大量I/O,嚴重降低了性能。這個時候需要把大的字段拆分到另一個表,并且該表與原表是一對一的關系。

          3.選擇適當的字段類型,特別是主鍵

          選擇字段的一般原則是保小不保大,能用占用字節小的字段就不用大字段。比如主鍵, 建議使用自增類型,這樣省空間,空間就是效率!按4個字節和按32個字節定位一條記錄,誰快誰慢太明顯了。涉及到幾個表做join時,效果就更明顯了。

          4.數據庫參數配置

          最重要的參數就是內存,我們主要用的innodb引擎,所以下面兩個參數調的很大

          innodb_additional_mem_pool_size = 64Minnodb_buffer_pool_size =1G

          對于myisam,需要調整key_buffer_size,當然調整參數還是要看狀態,用show status語句可以看到當前狀態,以決定改調整哪些參數

          在my.ini修改端口3306,默認存儲引擎和最大連接數

          在my.ini中.port=3306 [有兩個地方修改]default-storage-engine=INNODB max_connections=100

          5.合理的硬件資源和操作系統

          如果你的機器內存超過4G,那么毋庸置疑應當采用64位操作系統和64位mysql 5.5.19 or mysql5.6

          6.讀寫分離

          如果數據庫壓力很大,一臺機器支撐不了,那么可以用mysql復制實現多臺機器同步,將數據庫的壓力分散。

          mysql優化插入記錄的方法

          一. 對于MyISAM引擎表常見的優化方法如下:

          1. 禁用索引。對于非空表插入記錄時,MySQL會根據表的索引對插入記錄建立索引。如果插入大量數據,建立索引會降低插入記錄的速度。為了解決這種情況可以在插入記錄之前禁用索引,數據插入完畢后在開啟索引。禁用索引的語句為: ALTER TABLE tb_name DISABLE KEYS; 重新開啟索引的語句為: ALTER TABLE table_name ENABLE KEYS; 對于空表批量導入數據,則不需要進行此操作,因為MyISAM引擎的表是在導入數據之后才建立索引的。

          2. 禁用唯一性檢查:數據插入時,MySQL會對插入的記錄進行唯一性校驗。這種唯一性校驗也會降低插入記錄的速度。為了降低這種情況對查詢速度的影響,可以在插入記錄之前禁用唯一性檢查,等到記錄插入完畢之后再開啟。禁用唯一性檢查的語句為: SET UNIQUE_CHECKS=0; 開啟唯一性檢查的語句為: SET UNIQUE_CHECKS=1;

          3. 使用批量插入。使用一條INSERT語句插入多條記錄。如 INSERT INTO table_name VALUES(....),(....),(....)

          4. 使用LOAD DATA INFILE批量導入當需要批量導入數據時,使用LOAD DATA INFILE語句導入數據的速度比INSERT語句快。

          二. 對于InnoDB引擎的表,常見的優化方法如下:

          1. 禁用唯一性檢查。同MyISAM引擎相同,通過 SET UNIQUE_CHECKS=0; 導入數據之后將該值置1。

          2. 禁用外鍵檢查。插入數據之前執行禁止對外鍵的查詢,數據插入完成之后再恢復對外鍵的檢查。禁用外鍵檢查語句為: SET FOREIGN_KEY_CHECKS=0; 恢復對外鍵的檢查語句為: SET FOREIGN_KEY_CHECKS=1;

          3. 禁止自動提交。插入數據之前禁止事務的自動提交,數據導入完成之后,執行恢復自動提交操作。禁止自動提交語句為: SET AUTOCOMMIT=0; 恢復自動提交只需將該值置1。

          Mysql命令是什么

          1、連接Mysql

          格式: mysql -h主機地址 -u用戶名 -p用戶密碼

          1、連接到本機上的MYSQL。

          首先打開DOS窗口,然后進入目錄mysql\bin,再鍵入命令mysql -u root -p,回車后提示你輸密碼.注意用戶名前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸入密碼。

          如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是: mysql>

          2、連接到遠程主機上的MYSQL。假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:

          mysql -h110.110.110.110 -u root -p 123;(注:u與root之間可以不用加空格,其它也一樣)

          3、退出MYSQL命令: exit (回車)

          2、修改密碼

          格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼

          1、給root加個密碼ab12。

          首先在DOS下進入目錄mysql\bin,然后鍵入以下命令

          mysqladmin -u root -password ab12

          注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。

          2、再將root的密碼改為djg345。

          mysqladmin -u root -p ab12 password djg345

          3、增加新用戶

          注意:和上面不同,下面的因為是MYSQL環境中的命令,所以后面都帶一個分號作為命令結束符

          格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by “密碼”

          1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。首先用root用戶連入MYSQL,然后鍵入以下命令:

          grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

          但增加的用戶是十分危險的,你想如某個人知道test1的密碼,那么他就可以在internet上的任何一臺電腦上登錄你的mysql數據庫并對你的數據可以為所欲為了,解決辦法見2。

          2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL數據庫所在的那臺主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據庫,只能通過MYSQL主機上的web頁來訪問了。

          grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

          如果你不想test2有密碼,可以再打一個命令將密碼消掉。

          grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

        優化數據庫需要什么性能方法_優化數據庫性能有哪些方法

        在Web應用程序體系架構中,數據持久層是關鍵的核心部分,它對系統的性能有非常重要的影響。下面由學習啦小編為大家整理的優化數據庫性能的方法,希望大家喜歡! 優化數據庫性能的方法 1.表進行水平劃分 如果一個表的記錄數太多了,比如上千萬條,而且需要經常
        推薦度:
        點擊下載文檔文檔為doc格式

        精選文章

        26885 主站蜘蛛池模板: 久久热这里只有精品66| 亚洲国产av永久精品成人| 久久精品国产亚洲av热一区| 国产一区二区三区内射高清| 国产成人不卡无码免费视频| 国精产品一二二线网站| 26uuu另类亚洲欧美日本| 视频一区二区三区国产在线 | 国内精品综合九九久久精品 | 狠狠噜天天噜日日噜视频麻豆 | 久久综合色天天久久综合图片| 国产对白老熟女正在播放| 最近中文字幕国产精选| 国产精品亚洲专区在线播放| 午夜男女爽爽影院在线| 亚洲欧美日韩国产精品一区二区| 国产成人精品亚洲精品密奴| 久久国产精品老女人| 国产精品 无码专区| 亚洲天堂伊人久久a成人| 国产精品久久久久影院色| 国产精品午夜福利91| 嫩草研究院久久久精品| 最新AV中文字幕无码专区| 天天在线看无码AV片| 无码专区 人妻系列 在线| 日韩精品人妻系列无码专区免费 | 亚洲性线免费观看视频成熟 | 97精品尹人久久大香线蕉| 天天摸天天操免费播放小视频| 99中文字幕精品国产| 国产很色很黄很大爽的视频| 97国产一区二区精品久久呦 | 成人内射国产免费观看| 強壮公弄得我次次高潮A片| 久久精品人人做人人| 亚洲精品色一区二区三区| 久久久久99精品成人品| 91亚洲一线产区二线产区| 亚洲欧洲日产国产最新| 国产精品一区二区三区激情|