ผู้เขียน หัวข้อ: อยากทราบเกี่ยวกับการดึงข้อมูลครับ  (อ่าน 5409 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ AOFDEVIL

  • Jr. Member
  • **
  • กระทู้: 57
  • Respect: 0
    • ดูรายละเอียด
อยากทราบเกี่ยวกับการดึงข้อมูลครับ
« เมื่อ: สิงหาคม 19, 2010, 13:28:33 PM »
0
สวัสดีครับ
คือผม อยากทราบว่าเวลาที่เรา query ข้อมูลที่ต้องออกมา ใน ช่วงเวลา นั้น ทำไมถึงทำให้ เครื่อง client ค้างทุกครั้ง ทั้งๆ ที่บางครั้งไม่ได้ดึงข้อมูลเยอะ ถ้าทำให้ค้างทุกครั้ง query ไม่สามารถทำต่อไปได้ ก็จะทำให้งานที่ได้รับมาช้าตามไปด้วย ผมไม่แน่ใจว่าเกิดจากอะไรเพราะสาเหตุใด ไม่ทราบว่าที่อื่นได้เจอปัญหาแบบนี้บ้างหรือป่าว หรือเป็นที่ที่ของผมทีเดียว มีวิธีแก้ยังไงบ้างครับ
รบกวนทุกๆท่านด้วยนะครับ
ขอบคุณครับ
รวีฤทธิ์  ฉิมสกุล (นักวิชาการคอมพิวเตอร์)
โรงพยาบาลบางจาก จ.สมุทรปราการ

Server : IBM X3650 M3 RAM 24 GB ; CentOS 6.4 ,Percona - Server 5.5.31-33
Slave : IBM...,CentOS 6.4 ,Percona - Server 5.5.31-33

V.HosXP Master : 3.58.1.23B
V.HosXP Slave: 3.58.1.23B

E-Mail : rchimsak.aof@gmail.com

ออฟไลน์ thecoy

  • Hero Member
  • *****
  • กระทู้: 1,159
  • นักวิชาการคอมพิวเตอร์
  • Respect: 0
    • ดูรายละเอียด
Re: อยากทราบเกี่ยวกับการดึงข้อมูลครับ
« ตอบกลับ #1 เมื่อ: สิงหาคม 19, 2010, 13:43:13 PM »
0
ต้องดูคำสั่ง sql ด้วย ลองส่งตัวอย่างขึ้นมาดูพร้อมกับ my.cnf ด้วยครับ
โรงพยาบาลรัษฎา  ตรัง
CentOS 5.5  Ram  4  GB
HOSxP V.3.54.11.2 MySQL 5.1.30

ออฟไลน์ AOFDEVIL

  • Jr. Member
  • **
  • กระทู้: 57
  • Respect: 0
    • ดูรายละเอียด
Re: อยากทราบเกี่ยวกับการดึงข้อมูลครับ
« ตอบกลับ #2 เมื่อ: สิงหาคม 19, 2010, 14:54:11 PM »
0
นี่ครับตัวอย่างโค้ด

select distinct v.hn,v.cid,v.vstdate,p.pname as 'คำนำหน้า',p.fname as 'ชื่อ', p.lname as 'สกุล',pt.name as 'สิทธิ์การรักษา' , n.name as 'เชื้อชาติ'

from vn_stat v
LEFT OUTER JOIN patient p  ON p.hn=v.hn 
LEFT OUTER JOIN pttype pt  ON pt.pttype=v.pttype   
LEFT OUTER JOIN nationality n  ON n.nationality=p.nationality
left outer join thaiaddress t1 on t1.chwpart=p.chwpart and
     t1.amppart="00" and t1.tmbpart="00"
left outer join thaiaddress t2 on t2.chwpart=p.chwpart and
     t2.amppart=p.amppart and t2.tmbpart="00"
left outer join thaiaddress t3 on t3.chwpart=p.chwpart and
     t3.amppart=p.amppart and t3.tmbpart=p.tmbpart
where spclty in ('12','13','14') and vstdate between '2010-07-01' and '2010-07-31' and
v.pttype in ('10','11','22','23','34','35','36','37','90','91','92','93','94','95','96','98','99')

group by v.hn


ปล. ยัง join table ไม่ครบนะครับ ผม ทดสอบแค่นี่ client ก็ค้างแล้วครับ ก็เลยไม่ได้ทำต่อ


นี่ครับ my.cnf

[client]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
#basedir   = /var/lib/mysql
#datadir   = /var/lib/mysql/data
default-character-set=tis620

[mysqld]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
skip-locking

key_buffer = 384M
max_allowed_packet = 16M
table_cache = 1M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
max_heap_table_size = 128M
myisam_sort_buffer_size = 128M
thread_cache = 8
query_cache_size= 256M

thread_concurrency = 8
default-character-set=tis620
skip-name-resolve
innodb_file_per_table
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
max_connections = 1000


innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/

#############################   mysql 5.1.X
#innodb_log_arch_dir = /var/lib/mysql/
#############################
innodb_buffer_pool_size = 1000M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

#server-id=1
#log-bin
#sync_binlog=1
#innodb_safe_binlog

[mysqldump]
quick
max_allowed_packet = 16M
allow-keywords

[mysql]
no-auto-rehash
default-character-set=tis620

[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
รวีฤทธิ์  ฉิมสกุล (นักวิชาการคอมพิวเตอร์)
โรงพยาบาลบางจาก จ.สมุทรปราการ

Server : IBM X3650 M3 RAM 24 GB ; CentOS 6.4 ,Percona - Server 5.5.31-33
Slave : IBM...,CentOS 6.4 ,Percona - Server 5.5.31-33

V.HosXP Master : 3.58.1.23B
V.HosXP Slave: 3.58.1.23B

E-Mail : rchimsak.aof@gmail.com

ออฟไลน์ jdadmin1

  • Hero Member
  • *****
  • กระทู้: 6,468
  • "เครื่องชำรุด...งดใช้งานชั่วคราว"
  • Respect: +33
    • ดูรายละเอียด
Re: อยากทราบเกี่ยวกับการดึงข้อมูลครับ
« ตอบกลับ #3 เมื่อ: สิงหาคม 19, 2010, 15:48:57 PM »
0
 ;D ;D ;D อย่าให้ไอ้มะปรางเดินผ่านศูนย์คอมฯนะครับอาการ Server แฮ้งค์จะเกิดขึ้นทันที ทางที่ดีเอาไปไปโกนหัวบวชชีแก้บนรับรองหาย 55555 มีอยู่วันหนึ่งผมช่วยดูข้อมูล PCU ให้ชั่วโมงนึงเครื่องแฮ้งค์ 10 รอบ โอ..จอร์จ ;D ;D ;D
โรงพยาบาลพระสมุทรเจดีย์สวาทยานนท์ จังหวัดสมุทรปราการ
Master   : HOSxP 3.67.6.5
Slave1   : HOSxP 3.67.6.5
Upgrade 8/06/2567
Facebook : Suntad Mamak

ออฟไลน์ AOFDEVIL

  • Jr. Member
  • **
  • กระทู้: 57
  • Respect: 0
    • ดูรายละเอียด
Re: อยากทราบเกี่ยวกับการดึงข้อมูลครับ
« ตอบกลับ #4 เมื่อ: สิงหาคม 19, 2010, 16:04:07 PM »
0
;D ;D ;D อย่าให้ไอ้มะปรางเดินผ่านศูนย์คอมฯนะครับอาการ Server แฮ้งค์จะเกิดขึ้นทันที ทางที่ดีเอาไปไปโกนหัวบวชชีแก้บนรับรองหาย 55555 มีอยู่วันหนึ่งผมช่วยดูข้อมูล PCU ให้ชั่วโมงนึงเครื่องแฮ้งค์ 10 รอบ โอ..จอร์จ ;D ;D ;D
สงสัยจะไม่ได้อ่ะครับ เพราะ นั่ง อยู่ข้างห้องเลยครับ ;D :D ;) :)

แต่ปัญหาที่เกิดจากการ Query ไม่รู้จะแก้ตรงไหนอ่ะครับ ไม่ให้มัน ค้าง อ่ะครับ เพราะมันไม่สามารถดึงข้อมูลที่ต้องการได้เลยครับ
รวีฤทธิ์  ฉิมสกุล (นักวิชาการคอมพิวเตอร์)
โรงพยาบาลบางจาก จ.สมุทรปราการ

Server : IBM X3650 M3 RAM 24 GB ; CentOS 6.4 ,Percona - Server 5.5.31-33
Slave : IBM...,CentOS 6.4 ,Percona - Server 5.5.31-33

V.HosXP Master : 3.58.1.23B
V.HosXP Slave: 3.58.1.23B

E-Mail : rchimsak.aof@gmail.com

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,358
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: อยากทราบเกี่ยวกับการดึงข้อมูลครับ
« ตอบกลับ #5 เมื่อ: สิงหาคม 19, 2010, 23:02:44 PM »
0
ผม run ไม่ถึงวินาทีเลย ก็ได้ผลลัพธ์แล้วครับ

แนะนำเกี่ยวกับ SQL
ถ้า distinct v.hn แล้วไม่ต้อง group by v.hn ก็ได้ครับ แต่ต้องเอา v.vstdate ออกด้วยจึงจะถูกต้องครับ
ถ้าเอา v.vstdate ไว้ (ไม่รู้ว่าต้องใช้เพื่ออะไร) และ group bu v.hn มันจะแสดง vstdate แรกที่เจอครับ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ navyNP

  • Hero Member
  • *****
  • กระทู้: 933
  • Respect: +3
    • ดูรายละเอียด
Re: อยากทราบเกี่ยวกับการดึงข้อมูลครับ
« ตอบกลับ #6 เมื่อ: สิงหาคม 20, 2010, 07:32:59 AM »
0
วิธีแก้ปัญหาเบื้องต้นง่ายๆ คือเวลาดึงข้อมูลให้ไปดึงจากตัว slave แทน รับรองเครื่อง client ไม่ค้างแน่นอนครับ แล้วปัญหาอื่น ค่อยค้นหาและตามแก้ทีหลัง(โดยปกติจะไม่ดึงข้อมูลจากตัว sever หลักอยู่แล้วนี่ครับ ยกเว้นมี server ตัวเดียวซึ่งอันตรายมาก อาจจะสั่นคลอนตำแหน่งท่านได้เลยนะ ต้องรีบจัดหา server เพิ่มโดยด่วน ;D)
เคยเป็น Admin รพ.อาภากรเกียรติวงศ์ สัตหีบ ชลบุรี(250 เตียง)
Implement by อ.MN & อ.suchai  ขึ้นระบบ 29 ก.ค.48
Server : RH Enterprise Linux AS release 3(taroon)
Client : winXP , Slave : winXP , MySQL 4.1
LIS : CST
version ปัจจุบัน 3.54.1.22

ออฟไลน์ AOFDEVIL

  • Jr. Member
  • **
  • กระทู้: 57
  • Respect: 0
    • ดูรายละเอียด
Re: อยากทราบเกี่ยวกับการดึงข้อมูลครับ
« ตอบกลับ #7 เมื่อ: สิงหาคม 20, 2010, 08:40:09 AM »
0
ขอบคุณทุกท่านครับ
เด๋วจะลองดูอีกที
ก็เสียวๆอยู่เหมือนกันเพราะมี server ตัวเดียว แต่คาดว่าน่าจะได้ ตัวที่ทำ Slave เร็วๆนี้แหละครับ จะได้ไม่มีปัญหาในการดึงข้อมูล
รวีฤทธิ์  ฉิมสกุล (นักวิชาการคอมพิวเตอร์)
โรงพยาบาลบางจาก จ.สมุทรปราการ

Server : IBM X3650 M3 RAM 24 GB ; CentOS 6.4 ,Percona - Server 5.5.31-33
Slave : IBM...,CentOS 6.4 ,Percona - Server 5.5.31-33

V.HosXP Master : 3.58.1.23B
V.HosXP Slave: 3.58.1.23B

E-Mail : rchimsak.aof@gmail.com