1.Mixed extent:每个表或索引创建时,MSSQL并不给它分配一个extent,而是在mixed extnet内分配一个页,空间需求扩大时,再分配一个,直到表或索引的空间需求超过8个页,系统为它分配一个extent,这个extent就是uniform. extent; 2.Uniform. extent:当表或
1.Mixed extent:每个表或索引创建时,MSSQL并不给它分配一个extent,而是在mixed extnet内分配一个页,空间需求扩大时,再分配一个…,直到表或索引的空间需求超过8个页,系统为它分配一个extent,这个extent就是uniform. extent;
2.Uniform. extent:当表或索引的空间需求超过8个页时,系统就为它分配一个uniform. extent;
二、MSSQL用几种页来记录extent的使用:
1.GAM:global allocation map,用来记录extent是否已经被使用,每个位记录一个extent,0为已用,1表示未用,一个页大约有8000字节、64000个位,每个GAM页可以记录64000个extent,每个extent为8*8k=64k,那么GAM页最终可以记录64k*64000大小的空间,即大约4G的空间,也就是说GAM只能记录4G大小的空间,超过4G必须另外分配GAM,第一和第二个GAM间隔511230个页,第一个GAM总是文件的第三个页(page 2);
2.SGAM:shared global allocation map,用来记录extent是否被用作mixed extent,每个位记录一个extent,如果为1,说明对应的extent用作mixed extent且其中还有可用的页,为0,说明其为uniform. extent或mixed extent但已没可用页。同样,一个SGAM可以记录4G的空间,超过这个大小就需要另外分配SGAM,第一个和第二个SGAM间隔511230个页,第一个SGAM总是文件的第四个页(page 3);
3.另外一种页——IAM,index allocation map,用来记录每个对象在一个文件中extents的情况,也就是记录对象被分配了一个文件中的extents,IAM页头有八个槽,分别用来指向表或索引的头八个页,因为它们都被分配在mixed extents里,后面页头还有一个map,其中每个位对应一个extent,如果相应文件中extent的位是1,就说明这个extent属于该对象,否则,就不属于该对象;该页可以在文件的任何位置分配,它也可以不指向它所在文件的extents,注意:IAM仅仅对应被一个分配单位使用的文件中的4G范围的extents使用情况,对应511230个页,一旦超过这些页,系统就要分配另外一个IAM页,一个对象的各个IAM也都被链接在一起,IAM头部有指向第一个extent的地址。每个分配单位中,只包含一个表或索引分区的一类页,多个分区要用到多个IAM,而同一个分区不同类的页,也要用到不同的IAM页。
4.PFS, page free space,用来记录每个文件中每个页如何使用的,文件的第二个页为PFS页,其后第8088个也是PFS页,因为一个PFS页中只有8088个字节可以用来记录页的使用情况。
5.DCM,differential changed map,用来记录自从上次全备以来改变过的extents,主要用于差异备份需要,文件的第七个页(page 6)为DCM页,也是只能覆盖4G的空间,超过4G就要分配另一个DCM页,中间要间隔511230个页。
6.BCM,bulk changed map,用来记录最小或批量日志操作改变的extents,文件的第八个页为BCM页,只能覆盖4G的空间,超过4G就要重新分配BCM页,中间间隔511230个页。
7.至此,可以总结如下:文件的第一个页为文件头页,即page 0,第二个页为PFS页,第三个页为GAM页,第四个页为SGAM页,第七个页为DCM页,第八个页为BCM页,而IAM页可以在文件任何位置分配。

MySQL使用的是GPL許可證。 1)GPL許可證允許自由使用、修改和分發MySQL,但修改後的分發需遵循GPL。 2)商業許可證可避免公開修改,適合需要保密的商業應用。

選擇InnoDB而不是MyISAM的情況包括:1)需要事務支持,2)高並發環境,3)需要高數據一致性;反之,選擇MyISAM的情況包括:1)主要是讀操作,2)不需要事務支持。 InnoDB適合需要高數據一致性和事務處理的應用,如電商平台,而MyISAM適合讀密集型且無需事務的應用,如博客系統。

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

MySQL中有四種主要的索引類型:B-Tree索引、哈希索引、全文索引和空間索引。 1.B-Tree索引適用於範圍查詢、排序和分組,適合在employees表的name列上創建。 2.哈希索引適用於等值查詢,適合在MEMORY存儲引擎的hash_table表的id列上創建。 3.全文索引用於文本搜索,適合在articles表的content列上創建。 4.空間索引用於地理空間查詢,適合在locations表的geom列上創建。

toCreateAnIndexinMysql,usethecReateIndexStatement.1)forasingLecolumn,使用“ createIndexIdx_lastNameEnemployees(lastName); 2)foracompositeIndex,使用“ createIndexIndexIndexIndexIndexDx_nameOmplayees(lastName,firstName,firstName);” 3)forauniqe instex,creationexexexexex,

MySQL和SQLite的主要區別在於設計理念和使用場景:1.MySQL適用於大型應用和企業級解決方案,支持高性能和高並發;2.SQLite適合移動應用和桌面軟件,輕量級且易於嵌入。

MySQL中的索引是數據庫表中一列或多列的有序結構,用於加速數據檢索。 1)索引通過減少掃描數據量提升查詢速度。 2)B-Tree索引利用平衡樹結構,適合範圍查詢和排序。 3)創建索引使用CREATEINDEX語句,如CREATEINDEXidx_customer_idONorders(customer_id)。 4)複合索引可優化多列查詢,如CREATEINDEXidx_customer_orderONorders(customer_id,order_date)。 5)使用EXPLAIN分析查詢計劃,避

在MySQL中使用事務可以確保數據一致性。 1)通過STARTTRANSACTION開始事務,執行SQL操作後用COMMIT提交或ROLLBACK回滾。 2)使用SAVEPOINT可以設置保存點,允許部分回滾。 3)性能優化建議包括縮短事務時間、避免大規模查詢和合理使用隔離級別。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境