วันนี้มีเกร็ดเล็กๆ น้อยๆ ที่เป็นประโยชน์ซึ่งเกี่ยวกับการสร้าง Database โดยใช้ DBCA หรือ Database Configuration Assistant มาให้ทุกท่านได้อ่านกันนะครับ
...ผมเชื่อว่า หลายๆท่านที่กำลังอ่านอยู่ตอนนี้ ต้องเคยได้ลองติดตั้ง Oracle Database หรือ เคยสร้าง Database มากันบ้างแล้วล่ะ ซึ่งขั้นตอนในการสร้าง Database นั้นมันก็ไม่ได้ยากมากมาย เพียงแค่ตั้งค่าให้ถูกต้องเท่านั้นเอง ซึ่งผมนั้นก็ได้ลองติดตั้งด้วยตัวผมเองแล้วเหมือนกัน แต่มีขั้นตอนนึงที่ทำให้ผมชะงักขึ้นมาว่า ...เอ๊ะ จะเลือกอันไหนดีล่ะ ? นั่นคือ ตอนที่ให้ตั้งค่า Database Character set โดยมี National Character Set แบบ AL16UTF16 กับ UTF8 ให้เลือก (ดูตามรูปได้เลยนะครับ)
เอาเป็นว่า แทนที่จะมานั่งเดาเอา ผมก็ search หาเอาซะเลย แล้วดูว่า National Character Set แบบ AL16UTF16 กับ UTF8 มันมีข้อแตกต่างกันอย่างไร?
AL16UTF16
- ถ้าข้อมูลเป็นภาษาเอเชีย จะประหยัดพื้นที่กว่า UTF8 ซึ่งจะดีในแง่ของพื้นที่ในฮาร์ดดิสก์ และ I/O แต่ถ้าข้อมูลส่วนใหญ่เป็นภาษาทางยุโรปใช้ UTF8 ดีกว่าเพราะประหยัดพื้นที่กว่า
- Oracle มอง AL16UTF16 เป็น fixed-width characters ดังนั้นจะ process เร็วกว่า
- ความกว้างสูงสุดของ NCHAR และ NVARCHAR คือ 1000 และ 2000 ตัวอักษร ซึ่งการันตี เพราะเป็น fixed-width
UTF8
- ถ้าข้อมูลเป็นภาษาทางยุโรป โดยปกติจะประหยัดพื้นที่กว่า AL16UTF16 (เนื่องจากภาษาทางยุโรปอยู่ในลำดับต้นๆของ Unicode ซึ่งสามารถแทนได้ด้วยข้อมูลเพียง Byte เดียว) และให้ประสิทธิภาพดีกว่าในการ Process
- ความยาวสูงสุดของ NCHAR และ NVARCHAR คือ 2000 และ 4000 ซึ่งดูเหมือนจะมากกว่า AL16UTF16 แต่ไม่การันตี เนื่องจาก UTF8 เป็น variable width ถ้าเป็น Character ที่ใช้ Byte เดียวก็จะได้ถึง 4000 bytes แต่ถ้าเป็น Character ที่ใช้ 3 Bytes ก็จะมีได้สูงสุดแค่ 4000/3 ตัวอักษร
...นั่นก็คือข้อแตกต่างของแต่ละตัว ดังนั้นก่อนที่ท่านผู้อ่านทุกท่านจะ set ค่าในการสร้าง database ลองดูรายละเอียดซักนิดนะครับ อย่าเพิ่งกด Next ๆๆ อย่างเดียวนะครับ ;)
อ้างอิง
No comments:
Post a Comment