1. 程式人生 > >一些資料庫優化方面的經驗

一些資料庫優化方面的經驗

PreparedStatement 一般來說比Statement效能高:一個sql 發給伺服器去執行,涉及步驟:語法檢查、語義分析, 編譯,快取

“inert into user values(1,1,1)”-à二進位制

“inert into user values(2,2,2)”-à二進位制

“inert into user values(?,?,?)”-à二進位制

有外來鍵約束會影響插入和刪除效能,如果程式能夠保證資料的完整性,那在設計資料庫時就去掉外來鍵。(比喻:就好比免檢產品,就是為了提高效率,充分相信產品的製造商)

(對於hibernate來說,就應該有一個變化:empleyee->Deptment

物件,現在設計時就成了employeeàdeptid

mysql幫助文件子查詢章節的最後部分,例如,根據掃描的原理,下面的子查詢語句要比第二條關聯查詢的效率高:

1.  select e.name,e.salary where e.managerid=(select id from employee where name='zxx');

2.   select e.name,e.salary,m.name,m.salary from employees e,employees m where

 e.managerid = m.id and m.name='zxx';

表中允許適當冗餘,譬如,主題帖的回覆數量和最後回覆時間等

將姓名和密碼單獨從使用者表中獨立出來。這可以是非常好的一對一的案例喲!

sql語句全部大寫,特別是列名和表名都大寫。特別是sql命令的快取功能,更加需要統一大小寫,sql語句à發給oracle伺服器à語法檢查和編譯成為內部指令à快取和執行指令。根據快取的特點,不要拼湊條件,而是用?PreparedStatment

還有索引對查詢效能的改進也是值得關注的。

備註:下面是關於效能的討論舉例

4航班 3個城市

m*n

select * from flight,city where flight.startcityid=city.cityid and city.name='beijing';

m + n

select * from flight where startcityid = (select cityid from city where cityname='beijing');

select flight.id,'beijing',flight.flightTime from flight where startcityid = (select cityid from city where cityname='beijing')

相關推薦

一些資料庫優化方面經驗

用PreparedStatement 一般來說比Statement效能高:一個sql 發給伺服器去執行,涉及步驟:語法檢查、語義分析, 編譯,快取 “inert into user values(1,1,1)”-à二進位制 “inert into user values(2

java面試——資料庫優化方面

一、定位:查詢、定位慢查詢 1、查詢並定位慢查詢 在專案自驗轉測試之前,在啟動mysql時開啟慢查詢,並且把執行慢的語句寫到日誌中,在執行一定的時間後,查詢日誌。通過檢視日誌,找到慢查詢語句。使用explain,來詳細分析語句的問題。 二、優化手段 1、使用索引 建

Oracle資料庫優化經驗總結

個人理解,資料庫效能最關鍵的因素在於IO,因為操作記憶體是快速的,但是讀寫磁碟是速度很慢的,優化資料庫最關鍵的問題在於減少磁碟的IO,就個 人理解應該分為物理的和邏輯的優化, 物理的是指oracle產品本身的一些優化,邏輯優化是指應用程式級別的優化物理優化的一些原則:  1)Oracle的執行環境(網路,硬體

關於資料庫優化一些想法

優化table結構 #1 列資料型別儘量使用數字型別,避免使用字元型別,後者不僅會佔用較多儲存空間而且會降低查詢效率(逐字元比較); #2 優先使用VARCHAR,變長欄位儲存空間小,還可以提升查詢效率; #3 對需要經常作為where條件出現的column新增索引,通過新增constraint設定為u

關於資料庫優化一些感想和建議

今天不寫優化,說點感想和建議(昨天就要發的,結果第一次用手機操作,發錯了,只發出去一張網上找的美圖): 在oracle做研發和售後這麼多年,為很多大客戶的資料庫做了優化,這些客戶的系統都是非常重要的系統,而且都配備了非常專業的DBA(或者聘請了業界知名的第三方維護團隊),但是查出來的效能問題還是觸目

mysql資料庫sql語句的一些常用優化方法

轉載請標明出處: http://http://write.blog.csdn.net/postedit/71422526本文出自縌時針_ 1.應儘量避免在 where 子句中使用!=或<&g

UGUI的一些效能優化經驗

自從Unity問世以來,UI一直都存在比較大的問題,自帶的OnGUI不能所見即所得,製作過程比較麻煩。於是出現了很多第三方的優秀的UI外掛,比如很多專案裡面用到的NGUI,或者後來出的FairyGUI。Unity官方在4.x時代開始推出了自己的新UI系統,名為U

Mysql資料庫優化可以從哪幾個方面優化

1、資料庫優化可以從以下幾個方面進行: 2、專案中,優化mysql之前,首先要開啟慢查詢日誌,在分析慢查詢日誌.  1,檢視所有日誌狀態: show variables like '%quer%';2,檢視慢查詢狀態:show variables like

MySql資料庫優化可以從哪幾個方面進行?

1、資料庫優化可以從以下幾個方面進行:2、專案中,優化mysql之前,首先要開啟慢查詢日誌,在分析慢查詢日誌.1,檢視所有日誌狀態: show variables like '%quer%';2,檢視慢查詢狀態:show variables like 'show%'linux

lua----------------使用VS2015搭建lua開發環境的一些僥幸成功經驗

輸出 拷貝 名稱 name 屬性 編譯 找到 失敗 技術分享 所以本篇博文介紹在Windows平臺下,使用VS2015搭建lua開發環境的一些僥幸成功經驗,安裝過程參考網上教程,安裝過程如下(參考http://www.byjth.com/lua/33.html) 一 生

安卓用戶使用微信H5牛牛平臺性能優化方面的探索方案

當前 h5牛牛 中修改 leg 方案 lbp rem nav view 經常遇到一個問題,微信H5牛牛平臺網站(h5.fanshubbs.com)頁面由於緩存問題經常在微信H5牛牛平臺網站(h5.fanshubbs.com)發布新版本之後客戶端App看不到最新的效果,之前由

一些硬件設計經驗

link 包括 過去 大會 晶振 輸入輸出 參與 就會 容器 一些硬件設計經驗 2013年03月11日 23:32:21 閱讀數:1284 1:什麽是二極管的正偏?在p節加正電壓,而n節加負電壓。即為正偏。 正偏是擴散電流大大增加,反偏使漂移電流增加

1300多萬條數據30G論壇大數據優化實戰經驗小結

用戶反饋 文章 千萬 身體 分析器 png 監視 重點 border 最近由於某大型網站社區論壇運行效率比較低用戶反饋論壇有些卡需要對系統進行優化,論壇性能影響了公司的形象還有網站的流量,當然這也會影響到公司的收入,而且後期還需要長期維護網站的社區論壇服務。 1:

網站的一些引擎優化

SEO的搜尋引擎優化 title具有不可替代性,是我們網頁中的第一個重要的標籤。 標題長度:Google(70kb) 35箇中文,Baidu(56kb) 28箇中文。 關鍵字分佈:最先出現的詞語權重越高。 關鍵字詞頻:主關鍵字出現3次,輔關鍵字。 首頁標題:網站名(產品名)+網站介紹。

資料庫優化SQL

sql優化規則: 1.對於查詢,儘量不要使用全表掃描,儘量在where子句以及order by所對應的欄位建立索引。 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描。   最好不要給資料庫留NULL,儘可能的使用 NOT NULL填充

mysql資料庫優化大全

資料庫優化 sql語句優化  索引優化  加快取  讀寫分離  分割槽  分散式資料庫(垂直切分)  水平切分  MyISAM和InnoDB的區別:  1. InnoDB支援事務,MyISAM不支援,對於InnoDB

JAVA效能優化,架構師,分散式框架,高可用框架,微服務架構,資料庫優化

程式碼優化,一個很重要的課題。可能有些人覺得沒用,一些細小的地方有什麼好修改的,改與不改對於程式碼的執行效率有什麼影響呢?這個問題我是這麼考慮的,就像大海里面的鯨魚一樣,它吃一條小蝦米有用嗎?沒用,但是,吃的小蝦米一多之後,鯨魚就被餵飽了。 程式碼優化也是一樣,如果專案著眼於儘快無BUG上線,那麼此時可以抓

Java基礎學習總結(135)——Java程式碼效能優化實踐經驗再總結

前言 程式碼優化的最重要的作用應該是:避免未知的錯誤。在程式碼上線執行的過程中,往往會出現很多我們意想不到的錯誤,因為線上環境和開發環境是非常不同的,錯誤定位到最後往往是一個非常小的原因。然而為了解決這個錯誤,我們需要先自驗證、再打包出待替換的class檔案、暫停業務並重啟,對於一個成熟的專

mysql資料庫優化(四)-專案實戰

在flask專案中,防止隨著時間的流逝,資料庫資料越來越多,導致介面訪問資料庫速度變慢。所以自己填充資料進行測試及 mysql優化 1.插入資料: 通過指令碼,使用多程序,每100次提交資料 import multiprocessing import time from fla

資料庫優化查詢方法總結

處理百萬級以上的資料提高查詢速度的方法: 1.應儘量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。 2.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order_by 涉及的列上建立索引。 3.應儘量避免在 wh