지난 며칠 동안 임의의 시간에 내 웹 사이트가 매우 느리게되었습니다. 내가 할 수있는 최선의 것을 조사하기 시작했다. MySQL 프로세스가 내 서버의 사용 가능한 메모리의 85-95 %를 사용하고있는 것을 보았습니다 (메모리를 업그레이드해야합니까?). MySQL 테이블에서 테이블 수준 잠금 대기
나는 나의 MySQL의 프로세스 로그를 확인, 나는 거대한와 쿼리의 목록을 발견 : 테이블 레벨 잠금대기
그러나 나는 또한주의를, 무엇 이러한 쿼리의 모든 "테이블 수준 잠금"을 사용하는 쿼리는
users
이라는 테이블과 관련이 있습니다.나는 상수 쿼리와 함께 20 개의 다른 테이블이 있지만 목록에 표시되지 않습니다. 그래서 문제가 users 테이블에 있다고 생각하십니까?
나는 어떻게 테이블을 향상시킬 수 있는지 궁금해하고 결국 테이블 레벨 잠금을 제거합니까?
SHOW VARIABLES LIKE 'query_cache%';
이 결과 어떤 :
query_cache_limit 1048576 query_cache_min_res_unit 4096 query_cache_size 33554432 query_cache_type ON query_cache_wlock_invalidate OFF
날 내 데이터베이스/MySQL을 개선하기 위해 무엇을 할 수 있는지 알려 주시기 바랍니다
나는이 달렸다.| 228 | db_user | localhost | db_db| Query | 5 | Waiting for table level lock | SELECT count(*) FROM users WHERE createtime>'1396411200' OR createtime='1396411200' | | 229 | db_user | localhost | db_db| Query | 4 | Waiting for table level lock | UPDATE users SET upline_clicks=upline_clicks+'1', upline_earnings=upline_earnings+'0.0000' WHERE use | | 203 | db_user | localhost | db_db| Query | 6 | Waiting for table level lock | SELECT SUM(cashedout) FROM users | | 204 | db_user | localhost | db_db| Query | 4 | Waiting for table level lock | UPDATE users SET upline_clicks=upline_clicks+'1', upline_earnings=upline_earnings+'0.0000' WHERE use | | 205 | db_user | localhost | db_db| Query | 1 | Waiting for table level lock | SELECT * FROM users WHERE id='12055' | | 206 | db_user | localhost | db_db| Query | 2 | Waiting for table level lock | SELECT * FROM users WHERE id='22530' | 197 | db_user | localhost | db_db| Query | 3 | Waiting for table level lock | SELECT * FROM `users` WHERE `username` = 'ptc4life123' LIMIT 1 | | 200 | db_user | localhost | db_db| Query | 3 | Waiting for table level lock | UPDATE users SET upline_clicks=upline_clicks+'1', upline_earnings=upline_earnings+'0.0050' WHERE use |
이것은 기본적으로 모든 잠금 프로세스가 모습입니다 :
이
는 프로세스의 목록입니다.
사용자에게 색인을 추가하기 시작합니다. 특히 사용자 성, dept, ID ...와 같은 필드는 검색어에 자주 사용됩니다. – smoore4
인덱스? 약간 정교한 배려? (죄송 합니다만, MySQL에 대해 아직 처음입니다.) – oliverbj