บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ DBMS

วิธีเปลี่ยน root password database mysql บน ubuntu

 หลังจาก install mysql บน ubuntu ไปแล้วเจอปัญหาว่า จำ root password ไม่ได้ วิธีแก้ง่ายๆ ครับ สร้าง User ใหม่มันซะเลยด้วย Step ต่อไปนี้ครับ sudo mysql Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 24 Server version: 8.0.34-0ubuntu0.22.04.1 (Ubuntu) Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create user 'myadmin'@'localhost' IDENTIFIED BY 'mypassword'; Query OK, 0 rows affected (0.02 sec) mysql> grant all privileges on *.* to 'myadmin'@'localhost'; Query OK, 0 rows affected (0.01 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> exit;  อ่ะแล้วถ้าเราไม่อยากสร้างใหม่ล่ะเราแค่อยาก เปลี่ยน password root ของ mysql ให้ run คำ...

การใช้งาน Index ใน Oracle และเทคนิคการใช้ HINT

บทความเกี่ยวกับ : การใช้งาน Index ใน Oracle และเทคนิคการใช้ HINT วันนี้นั่งทำ Query อยู่พบข้อสังเกตุอะไรบางอย่าง กับการสร้าง index ใน Oracle ด้วยความที่เราไม่ได้มีความรู้มากมายเท่าทางสาย DBA แต่ก็ได้อาศัยลองผิดลองถูกเรื่อยๆมา วันนี้จะมาเล่ากรณีศึกษาให้ฟัง  ยกตัวอย่าง ผมสร้าง index  ให้กับ table ผมไว้ สอง Field คือ  field_a   index ชือ indx_a field_b   index ชื่อ indx_b ลอง Query data ดูพบว่า select * from my_table where field_a='xxx'; ผลที่ได้เร็วมากๆ select * from my_table where field_b='xxx'; ผลที่ได้เร็วมากๆ แต่พอลองแบบนี้ select * from my_table where field_a='xxx' and field_b='yyy'; ผลที่ได้ปรากฏว่าหน่วงขึ้นอย่างเห็นได้ชัดเจน ผมก็งงว่าทำไปเป็นอย่างงั้นในเมื่อเราก็ Query ด้วย index ทั้งสอง Field ลองถามเพื่อๆ ที่เก่งด้านนี้ดู เค้าบอกว่าให้สร้าง index สอง Field นี้ต่อกันเป็นแบบนี้ create index indx_ab on my_table (field_a,field_b) ลองสร้างและลอง Query แบบเดิมดูพบว่าเร็วจริงตามที่คาดไว้    แต่ผมเองก็ไม่เข...

Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก

บทความเกี่ยวกับ : Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก วันนี้จะนำเสอนวิธีการจัด Format วันที่ใน Oracle ครับ หลายๆ คนคงเคยเจอปัญหาเรื่องการแสดง พ.ศ. หรือ ชื่อเดือนให้เป็นภาษาไทยหรือจะเอาภาษาอะไรก็ได้ตามที่เราต้องการ วันนี้จะเอาวิธีง่่ายๆ มาฝากครับ หากคุณกำลังต้องการ จัด Format วันที่ใน Oracle ให้เป็นแบบนี้ คุณมาถูกที่แล้วครับ 20 พ.ย. 2554 20 NOV 2011 วิธีการทำแบบนี้ครับ SELECT TO_CHAR(SYSDATE, 'dd MON yyyy', 'NLS_CALENDAR=''THAI BUDDHA'' NLS_DATE_LANGUAGE=THAI')  FROM DUAL แบบนี้จะแสดง 28 ธ.ค. 2554 ครับ ตัวแปรที่สำคัญคือ - 'dd MON yyyy'   อันนี้เป็น format ครับ MON เพราะผมต้องการตัวย่อเดือน - NLS_CALENDAR ตัวนี้แหละครับที่ทำให้ พศ แสดงเป็น พุทธศักราช 2554 (THAI BUDDHA) - NLS_DATE_LANGUAGE  ตัวนี้กำหนดให้แสดงเดือนเป็นภาษาไทยครับ (THAI) ถ้าเราอยากแสดงเป็นภาษาอังกฤษ ก็ง่ายๆตามนี้ครับ SELECT TO_CHAR(SYSDATE, 'dd MON yyyy', ' NLS_DATE_LANGUAGE=AMERICAN...

Oracle ปัดเศษ แบบต่างๆ

บทความเกี่ยวกับ : Oracle ปัดเศษ แบบต่างๆ คำสั่งปัดลงตลอด select floor(1.1) from dual   // 1 คำสั่ง ปัดขึ้นตลอด select ciel (1.1) from dual // 2 คำสั่งปัดเศษแบบต่างๆ round(10.25) from dual  // 10 round(10.65) from dual  // 10.1 ลองเอาไปใช้กันดูนะคร้าบบ

Oracle Hint เทคนิคการ Query เพื่อ Tuning Performance

บทความเกี่ยวกับ : Oracle Hint เทคนิคการ Query เพื่อ Tuning Performance การใส่ Hint ตาม Format นี้เลยครับ SELECT /*+ HINT */  * from  tbl ตัวอย่างเช่นการบังคับให้ Query แบบ FULL คือไม่ใช้ Index SELECT /*+ FULL(x) */ FROM tab1  ตัวอย่างการบังคับให้ Query โดยใจ Index ตามที่ระบุ SELECT /*+ INDEX(test_idx1) */ * FROM tbl ตามนี้เลยครับสามารถช่วยได้เยอะเลยทีเดียวส่วน Hint มีอะไรบ้างนั้นตามด้านล่างเลยครับ     *  ORDERED - usually with USE_NL to get Oracle to not hash join     * INDEX (t index_name) - where Oracle chooses the wrong index over the correct one     * NO_INDEX - prevent an index from being used     * I NDEX_COMBINE - merging bitmap indexes (use when Oracle does not merge bitmap indexes)     * FIRST_ROWS (n) - when you only want the first few rows     * PARALLEL - to force parallel query on certain specific queries     * GATH...

Oracle Index เทคนิคการสร้าง Index กับ Field Date เพื่อการ Query ที่เร็วติดจรวด

บทความเกี่ยวกับ : Oracle Index เทคนิคการสร้าง Index กับ Field Date เพื่อการ Query ที่เร็วติดจรวด วันนี้มานั่ง List รายการดูว่า มีป้ายใหนที่จั่วหัวแล้วยังไม่ได้โพสบ้างเท่าที่ดูจะเหลือเรื่องของ DBMS , JQuery และ Web4J ที่จ่าหน้าไว้แล้วแต่ไม่ได้โพสอะไรเลย  วันนี้เลยจะจับมาซักเรื่อง เอาง่ายๆ เรื่องของ DBMS ละกัน วันนี้จะเอา เทคนิคการสร้าง Index บน Database Oracle มาโชว์ ....ฟังดูแล้วอาจเป็นเรื่องพื้นๆ ที่หลายคนบอกว่าเด็กอมมือก็ทำได้ หุหุ แต่ผมเอามานำเสนอทั้งทีบอกไว้เลยว่าต้องไม่ธรรมดาคุณเคยคิดมั้ยครับว่า Field ที่เป็น Date เอามาสร้าง Index แล้วมันจะนรกแค่ใหน ส่วนตัวผมเองไม่ใช่สาย DBA นะครับเป็นเพียง PG ตัวกระจ้อยแต่มั่วๆ หาทาง Tune Query Performance ให้ระบบทำงานได้เร็วที่มั่วๆ มาได้ก็ประมาณนี้ มาดูกัน CREATE INDEX IDX_DATETEST ON MY_TBL (TO_CHAR(CREATE_DATE, 'DDMMYY') ); เท่านี้แหละครับหลักการง่ายๆ ก็คือแปลงมันให้เป็นตัวเลขซะ แล้วตอนเรียกใช้ใน Query ก็จัดการแบบนี้ select * from MY_TBL where TO_CHAR(CREATE_DATE, 'DDMMYY' )='140911'; ...

DBMS กับ Programmer เป็นของคู่กัน

บทความเกี่ยวกับ : DBMS กับ Programmer เป็นของคู่กัน ทำงานสาย Developer หนีไม่พ้นที่จะต้องเขียนโปรแกรมติดต่อกับ ฐานข้อมูล งานนี้ถึงแม้เราจะไม่รู้ลึกซึ้งเท่ากับ DBA เค้า แต่เราก็ควรที่จะรู้ไว้บ้างโดยเฉพาะ พวก Function ต่างๆ ที่จะช่วยอำนวยความสะดวกให้กับเราในการ Develop งานนี้ ผมเองคงจะมีเขียนถึง database อยู่ไม่กี่ตัว โดยมากคงจะเป็น MySQL กับ Oracle เพราะตอนนี้เล่นกับสองตัวนี้อยู่ .. แล้วเจอกัน