分析asa資料庫的內部資料結構(1)

來源:互聯網
上載者:User

----------------------------------------------------------------------------

---- 本文為andkylee個人原創,請在尊重作者勞動成果的前提下進行轉載;

---- 轉載務必註明原始出處
:
http://blog.csdn.net/andkylee

---- 關鍵字: ASA 內部資料結構 分析 datatypes internals physical storage

----------------------------------------------------------------------------

 

從昨天開始分析sybase anywhere 資料庫的內部資料結構。

已知道每行的資料是如何儲存的,可變與固定長度列的儲存方式。尤其分析出來了datatime類型資料是如何儲存的。

 

asa資料庫的資料結構比起來ase簡單多了。每行行頭有2位元組資料表示該行資料的總位元組數。可變長度列的資料前有表示該可變欄位長度的資料。每行資料內沒有列位移表。

 

還沒有分析出來的地方有:行位移表,頁頭的資訊!繼續努力!

 

在這裡說一下asa和ase中的datetime類型,asa中的datetime儲存的日期範圍要比ase中的廣得多。

 

下面是在ase下用isql連上時查到的最小日期範圍:1753-01-01 00:00:00

1> select datediff(dd,'1753-01-01 00:00:00','2010-01-19 13:00:00')
2> go

 -----------
       93885

(1 row affected)
1> select datediff(dd,'1752-12-31 00:00:00','2010-01-19 13:00:00')
2> go
Msg 247, Level 16, State 1:
Server 'TEST', Line 1:
Arithmetic overflow during implicit conversion of VARCHAR value '1752-12-31
00:00:00' to a DATETIME field .
====================================================================

 

而在asa中0001-01-01 00:00:00都能存到庫裡面去。

這兩者的範圍的差異使得兩者在資料庫裡面儲存時資料結構不同。

 

為了ase中datetime類型只精確到1/300秒,而asa中卻能精確到1毫秒呢?

我感覺是不是sybase從效能角度考慮,太精確會導致計算速度變慢,影響整個資料庫的效能下降呢?

 

後面繼續分析!

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.