偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Oracle與Mysql應(yīng)用總結(jié)

數(shù)據(jù)庫
以前開發(fā)的時(shí)候,一直在使用oracle,甚至參加過oracle的培訓(xùn),考過Oracle Database 10g Administrator I,自認(rèn)對oracle還算有些了解,不過最近在做一個(gè)分布式數(shù)據(jù)系統(tǒng)的測試的時(shí)候,才有“學(xué)到用時(shí)方恨少”的感悟。下文中將將為大家?guī)碓敿?xì)的關(guān)于Oracle與Mysql的應(yīng)用總結(jié)。

導(dǎo)讀:在以前開發(fā)的時(shí)候,一直在使用oracle,甚至參加過oracle的培訓(xùn),考過Oracle Database 10g Administrator I,自認(rèn)對oracle還算有些了解,不過最近在做一個(gè)分布式數(shù)據(jù)系統(tǒng)的測試的時(shí)候,才有“學(xué)到用時(shí)方恨少”的感悟。Oracle與Mysql的應(yīng)用是怎樣的呢?在此把最近總結(jié)的一些東西陸續(xù)跟測試 部的同學(xué)們一起分享吧。

1. in如何與list綁定:

一個(gè)帶in子查詢的語句相信對很多人來說都是司空見慣了的,例如:「select * from normaltbl_ora where pk in (1,2,3,4)」、「select * from normaltbl_ora where name in (“manhong”,”yihuan”,”gongyangyu”,”yaolingling”) 」。但是如果in的查詢字段上沒有建立索引或者無法通過索引查詢,那數(shù)據(jù)庫會(huì)將該字段與in里面的每個(gè)值都進(jìn)行比較運(yùn)算,如果記錄數(shù)有成千上萬條甚至以 上,會(huì)明顯感覺到SQL的CPU開銷過大甚至難以負(fù)荷,過量的使用這樣的語句,將引起數(shù)據(jù)庫的大量硬解析與共享池的SQL碎片。所以,在實(shí)際的應(yīng)用過程 中,我們則可以采用list的方式將這些in字段綁定起來。接下來具體描述如何創(chuàng)建in與list綁定,以及如何去使用它們。

a. 創(chuàng)建數(shù)據(jù)類型

數(shù)值列表數(shù)據(jù)類型

字符串列表數(shù)據(jù)類型

b. 創(chuàng)建相關(guān)函數(shù)

數(shù)值列表函數(shù)

字符串列表函數(shù)

c. 查詢

通過數(shù)值列表函數(shù)查詢

通過字符串列表函數(shù)查詢

2. 關(guān)于Hint的使用:

在做分布式數(shù)據(jù)系統(tǒng)測試的時(shí)候,發(fā)現(xiàn)它們有一個(gè)非常關(guān)鍵的技術(shù)點(diǎn)是生成sql的執(zhí)行計(jì)劃。而Hint就是這樣的一種機(jī)制,用來告訴優(yōu)化器按照我們的 告訴它的方式生成執(zhí)行計(jì)劃。Hint可以基于表連接的順序、表連接的方法、訪問路徑、并行度等規(guī)則對dml語句、或者查查詢語句產(chǎn)生作用,通過它我們可以 實(shí)現(xiàn):

1) 使用的優(yōu)化器的類型

2) 基于代價(jià)的優(yōu)化器的優(yōu)化目標(biāo),是all_rows還是first_rows。

3) 表的訪問路徑,是全表掃描,還是索引掃描,還是直接利用rowid。

4) 表之間的連接類型

5) 表之間的連接順序

6) 語句的并行程度

a. Hint語法:

/* */常寫代碼但較少接觸Hint的同學(xué)們可千萬別誤認(rèn)為這只是代碼的簡單注釋。

舉幾個(gè)簡單的應(yīng)用例子:

i. 盡快地顯示前5行記錄

ii. 再比如說大數(shù)據(jù)量、分庫分表查詢中比較常用到的并行查詢操作

試驗(yàn)的時(shí)候雖然數(shù)據(jù)量不大,但是效果倒是還挺明顯的,速度之間比對接近于1:2。像淘寶這種大數(shù)據(jù)量應(yīng)用,每張數(shù)據(jù)表都有過千萬甚至過億數(shù)據(jù)的時(shí) 候,使用parallel Hint效果會(huì)非常明顯,當(dāng)然數(shù)據(jù)庫主機(jī)的CPU的核數(shù)越多,系統(tǒng)當(dāng)前負(fù)載越低的時(shí)候,parallel Hint的優(yōu)勢將會(huì)越加明顯。

關(guān)于Hint的使用,要盡可的自身去體會(huì)才能真正理解其作用,在遇到使用Hint的地方大家可以多關(guān)注一下,有時(shí)間也可以自己做一些調(diào)查驗(yàn)證。

【編輯推薦】

  1. Oracle修補(bǔ)Java中存在十年的bug
  2. Oracle承諾對MySQL不會(huì)放棄只會(huì)更好
  3.  MySQL十大優(yōu)化技巧
  4. MySQL數(shù)據(jù)庫的無縫遷移
責(zé)任編輯:迎迎 來源: qa.taobao.com
相關(guān)推薦

2010-05-06 17:30:56

Oracle查詢語句

2011-03-15 11:05:03

2010-04-28 17:14:38

Oracle EXPL

2011-08-19 09:30:42

分頁查詢SQL ServerMySQL

2009-12-21 13:34:41

OSGi

2010-04-23 08:56:12

Oracle DRCP

2024-10-14 17:24:32

2024-11-13 09:16:13

2018-06-08 11:28:44

MySQLlocalhost127.0.0.1

2019-10-28 14:37:10

MySQL 數(shù)據(jù)庫收藏

2010-04-14 13:22:10

Oracle系統(tǒng)函數(shù)

2011-04-12 11:32:31

Oraclerownum用法

2011-05-19 14:29:49

Oraclerownum

2011-07-27 18:55:02

Oracle數(shù)據(jù)庫DBLINK操作

2010-05-06 10:09:44

Oracle in

2011-03-11 16:42:51

Oracle數(shù)據(jù)庫視圖

2024-10-10 08:26:30

2011-07-22 09:33:15

OracleMySQLPostgreSQL

2018-01-19 12:33:17

數(shù)據(jù)庫OracleMySQL

2011-09-01 10:18:33

初學(xué)OracleOracle常見操作
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號