亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Sybase ASE 12.5數據庫實用特性的個人總結

2024-07-21 02:44:31
字體:
來源:轉載
供稿:網友
Sybase ASE 12.5數據庫實用特性的個人總結:

一:SQL Bisic

◆1:SQL(Structured Quary Language)特性:

a:標準化

b:非過程化的

c:可優化的

d:面向集合操作的

◆2:ASE中的數據類型

a:Numberic

b:Character

c:Date/Time

d:Lobs

◆3: convert(varchar, textColumn),如果不指定varchar(n)n那么默認是30

◆4:where 在sql中的作用

a:過濾數據

b:做表連接(sql92以前)

c:選擇索引

◆5:whare 和 having的區別

where語句把過濾好的數據插入到work table中

having語句從work table中對數據進行在過濾以得到最后的結果。

◆6:一個select語句的執行順序

a:from clause

b:where clause

c:group by clause

d:select clause

e:having clause

f:order by clause

◆7:Union VS Union All

a:Union 會把兩個結果集排序,并且除去重復的元素(效率差,輕易不要用)

b:Union All僅僅是把兩個結果集合并,沒有排序,也不去除重復元素(效率好)

二:索引和查詢參數

◆1:ASE中有三種access數據方式

a:clustered Index

b:nonclustered Index

c:table scan

◆2:Covered Query

一個Covered Query 僅僅從索引中得到數據,不用去掃描數據庫表,這是最快的數據查詢方式。

限制1:只能在selece中生效

限制2:所有被引用的列必須在同一個nonclustered index中

◆3:functional index

在ASE15.0以后才被支持,也就是說在ASE15.0以前的版本,下列語句是可定不會用上索引的

sql 代碼

select column1

from table1

where upper(column2) = 'IVANL'

◆4:如何查看執行計劃

sql 代碼

set showplan on

go

your sql

go

set showplan off

go

◆5: 如何查看IO

sql 代碼

set statistics io on

set statistics time on

go

you sql

go

set statistics io off

set statistics time off

go

◆6:使用Index的建議

a:使用那些經常在where語句中使用的字段做index

b:使index中包含的字段越少越好

c:drop掉沒用的index

三:表連接

◆1:什么是表連接

表連接是從多表中查詢數據,或者是從一個表中多次取數據。

(A join is a Transanct-SQL Operation than access rows from multi-tables or from a single talbe multi-times)

◆2:表連接的類別

a:inner join

b:outer join

c:cross join(full join)

◆3:ASE中不支持full join但是通過union可以模擬full join

sql 代碼

select t1.colu1, t2.column2

from t1, t2

where t1.id *= t2.id

union

select t1.colu1, t2.column2

from t1, t2

where t1.id =* t2.id

(不建議使用,效率很差)

◆4:ASE中最多支持50個table做表連接,ASE的查詢優化器做的不是很好,Sybase推薦join表不超過4個

◆5:數據庫中有三種方式來實現表連接

a:nested loop join

b:merge join

c:hash join

(可以使用show plan來查看數據庫選用哪種join來實現join語句)

◆6:對表連接的建議:

a:用showplan 看使用了那種用join方式

b:在join的列上加Index

c:把多表的join才分成幾個小表的join

d:避免產生笛卡兒積

四:使用Case語句

◆1:case語句的兩種形式

sql 代碼

a:

case

when search_condition then exPRession

[when search_condition then expression]

[else exproestion]

end

b:

case expression

when expression then expression

[when exproession then expression]

[else expression]

end

◆2:case的用途

a:decoding column

sql 代碼

select cust_id, cust_name

case cust_type

when 'R' then 'Relation'

when 'I' then 'International'

when 's' then 'Small'

else 'Other'

end as customer_type

b:conditionally displaying columns or values

sql 代碼

select title_id, total_sales,

case

when total_sales > 5000 then 'hight'

when total_sales < 100 then 'low'

else ' '

end as 'column'

c:horizontal frequency table and summary calculation

sql 代碼

select sum(case type when 'adv' then 1 else 0 end ) as adv

, sum( case type when 'cus' then 1 else 0 end) as cus

from customer

d:updating on variable conditions

sql 代碼

update customer

set cust_charge = cust_charte + case cust_type

when 'd' then 1

when 'c' then 2

when 'e' then 3

else 0

end

[/code]

e:rules and check constraints

[code]

create table cust_order_info

(

order_num int,

order_taker int,

order_date char(7) default

case

when datepart(dw, getDate()) between 2 and 6 then 'weekday'

else 'weekend'

end

)

五:事務和鎖

◆1:ASE中有兩種事務模式

a: Chained Mode

b:unChained Mode(Sybase默認)

unchained mode顯示的開始一個事務,chained隱式的開始一個事務

unchained mode 使用'commint tran', 'rollback tran'

chained mode 使用'commint work ', 'rollback work'

unchained mode 支持嵌套事務,chained mode不支持

◆2:Locking schema

a: All pages table, will lock data and index as they are accessed(可以有clustered index)

b: A Datapages table will lock datpages as they are accessed, index will not be locked(無clustered index)

c: A DataRow table will lock datpages as they are accessed, index will not be locked(無clustered index)

◆3:Locking type

ASE中最重要的三種lock type是

a:shared locks(select , fetch)

b:update locks(fetch ,update, delete)

c:exclusive locks(insert , update, delete)

◆4:隔離級別

ASE中一共有四種隔離級別

a:isolation level 0 (read uncommited),允許脹讀

b:isolation level 1 (read comminted)(ASE DEFAULT), 不允許脹讀

c:isolation level 2 (repeatable read),可重復讀

d:isolation level 3 (serializable), 不允許幻影讀

sql 代碼

set transaction isolation level {0|1|2|3}

or

select ...

at isolation {0|1|2|3}

◇5:如何編寫高效的transaction

For OLTP transaction

a:使transaction盡可能的短

b:使用index來隨機訪問數據

c:只有在必要的時候才使用transaction

d:選取合適的Lock type和隔離級別

e:使用樂觀鎖

六:數據處理

◆1:除以0

使用coalesce()和nullif()

先使用nullif()把0轉換成null,在用coalesce()處理null的情況

sql 代碼

select coalesce(total_sales/nullif(sales,0),0)

-- coalesce(ex1, ex2,ex3...)返回第一個不是Null的表達式

-- nullif(expre, value)如果expre=value,則返回null

◆2:找到重復的數據

sql 代碼

select type, count(*)

from table

where ..

group by type

having count(*) > 1

◆3:找出重復次數最多的數據

sql 代碼

select type, count(*)

from table

where ..

group by type

having count(*) = max(count(*))

◆4:數據累加

java 代碼

select t1.title_id, t1.advice, sum(t2.advice) as cumulative_total

from title t1, title t2

where t1.title_id >= t2.title_id

group by t1.title_id, t1.advice

◆5:ranking data

sql 代碼

select rank = identity(10), title_id, total_sales

into #top from titles

where ..

order by total_sales desc

go

select * from #top

go

drop table #top

go

◆6:conver between julian Date and gregorian date

sql 代碼

select datepart(yy, @date)*1000+datepart(dy, @date) as julina_date

select dateadd(dd, juliandate%1000, '12/31/'+convert(char(4),juliandate/1000 -1)) as gregorian_date

◆7:計算本月有多少天

sql 代碼

datepart(dd,

dateadd(dd,-1 --last day of this month

datead(mm,1 --add a month

dateadd(dd --

,

1-datepart(dd,getdate() --1-today

getDate())))) --get today

◆8:是否是閏年

sql 代碼

select datepart(dy, '03/01/'||convert(char(4),datepart(yy,getdate())))

--= 61 是閏年

--= 60 不是閏年


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情视频免费观看| 久久天堂av综合合色| 欧美日韩在线视频一区| 亚洲精品美女视频| 久久免费视频这里只有精品| 91久久在线观看| 精品美女久久久久久免费| 91亚洲精华国产精华| 亚洲一区二区久久久| 色噜噜狠狠狠综合曰曰曰88av| 国产精品va在线播放我和闺蜜| 97精品视频在线观看| 欧美另类暴力丝袜| 中文国产亚洲喷潮| 欧美电影在线观看网站| 国产亚洲欧美日韩精品| 欧美日韩一区二区精品| 国产免费一区二区三区香蕉精| 欧洲成人在线观看| 国产精品99一区| 97视频免费在线看| 欧美xxxx做受欧美| 日韩黄色高清视频| 亚洲成年人在线| 国产午夜精品视频免费不卡69堂| 黄色一区二区在线观看| 日韩美女主播视频| 成人黄色影片在线| 国产精品成人一区二区| 7777kkkk成人观看| 日韩va亚洲va欧洲va国产| 欧美丝袜一区二区| 亚洲最大中文字幕| 亚洲国产成人久久综合| 久久精品视频99| 国产手机视频精品| 欧美成人精品不卡视频在线观看| 日韩精品在线视频| 欧美日韩在线视频观看| 日韩中文视频免费在线观看| 亚洲免费视频一区二区| 国产91在线播放精品91| 欧美日韩一区二区精品| 国产午夜精品久久久| 91麻豆国产精品| 久久久久久久久久婷婷| 欧美大学生性色视频| 亚洲欧美在线一区二区| 中日韩午夜理伦电影免费| 欧美午夜www高清视频| 国产精品亚洲综合天堂夜夜| 日本道色综合久久影院| 欧美成人免费播放| 久久成人精品一区二区三区| 久久久久久91香蕉国产| 久久精品一区中文字幕| 日韩av在线网址| 欧美日韩免费观看中文| 91精品国产综合久久香蕉最新版| 亚洲缚视频在线观看| 色偷偷888欧美精品久久久| 91大神福利视频在线| 在线精品国产欧美| 久热国产精品视频| 精品中文字幕在线观看| 另类美女黄大片| 国产精品日韩一区| 欧美电影免费播放| 一区二区欧美亚洲| 日韩免费在线视频| 一本色道久久88亚洲综合88| 欧美日韩国产成人在线观看| 成人欧美在线观看| 亚洲伊人久久综合| 色狠狠av一区二区三区香蕉蜜桃| 91免费版网站入口| 亚洲国产精品成人av| 亚洲人成人99网站| 欧美在线视频网| 欧美成人久久久| 日韩av男人的天堂| 欧美丝袜一区二区三区| 中文字幕亚洲激情| 色无极影院亚洲| 亚洲国产精品推荐| 国产精品偷伦一区二区| 日韩精品在线观看一区| 日韩av有码在线| 日韩欧美在线观看视频| 亚洲精品一区二区久| 国产不卡视频在线| 中文字幕av一区| 亚洲自拍偷拍一区| 久久中文久久字幕| 欧美成年人视频网站| www日韩欧美| 91tv亚洲精品香蕉国产一区7ujn| 亚洲综合最新在线| 欧美日韩免费看| 91精品国产色综合久久不卡98| 亚洲天堂网站在线观看视频| 亚洲国产精品成人va在线观看| 久久韩剧网电视剧| 国产一区二区三区日韩欧美| 久久久久久国产精品三级玉女聊斋| 亚洲区免费影片| 久久久久久久97| 91麻豆国产语对白在线观看| 日韩精品免费观看| 久久久久日韩精品久久久男男| 高清欧美性猛交xxxx黑人猛交| 日韩成人在线视频网站| 国产精品一区久久久| 国产ts人妖一区二区三区| 久热精品在线视频| 91色视频在线导航| 久久精品国产一区二区三区| 91网在线免费观看| 日韩在线播放av| 国产又爽又黄的激情精品视频| 国产成人精品a视频一区www| 日本高清久久天堂| 欧美极品xxxx| 日韩欧美国产网站| 精品国产拍在线观看| 91啪国产在线| 欧美寡妇偷汉性猛交| 日韩欧美aⅴ综合网站发布| 91在线观看免费高清完整版在线观看| 91综合免费在线| 日韩av网址在线| 91在线无精精品一区二区| 成人黄色午夜影院| 中文字幕一区二区精品| 欧美极品第一页| 国产91色在线| 亚洲一区二区三区777| 91精品久久久久久久久久久| 国产成+人+综合+亚洲欧美丁香花| 欧美激情免费看| 国产精品国产三级国产aⅴ9色| 欧洲日韩成人av| 久久婷婷国产麻豆91天堂| 欧美日韩激情网| 91久久精品国产| 国产视频精品免费播放| 成人网在线免费观看| 日韩在线观看免费全集电视剧网站| 狠狠躁天天躁日日躁欧美| 午夜剧场成人观在线视频免费观看| 欧美性视频精品| 日韩小视频在线| 精品偷拍一区二区三区在线看| 欧美性20hd另类| 在线色欧美三级视频| 色综合久久88色综合天天看泰| 久久久久久网站| 国产成人aa精品一区在线播放| 亚洲日韩第一页| 欧美最猛黑人xxxx黑人猛叫黄| 国产中文字幕日韩| 夜夜嗨av色一区二区不卡| 精品久久久久久久大神国产| 久久精品夜夜夜夜夜久久|