1
다음 코드는 10 개 항목을 반환합니다. 지금은 느린 것 같습니다.MySQL 왼쪽 조인이 느립니다.
SELECT a.id
, a.patient_name
, a.phone
, p2.card_number
FROM patients as a
LEFT JOIN patient_insurance as p2
ON a.id=p2.patient
WHERE a.patient_name LIKE '%$_GET[term]%'
OR a.id LIKE '%$_GET[term]%'
OR a.phone LIKE '%$_GET[term]%'
OR p2.card_number LIKE '%$_GET[term]%'
LIMIT 10
나는 환자 테이블에 12,107 항목을 가지고있는 patient_insurance 테이블에 2296 항목
그것은 16 기가 바이트 램과 제온 2 프로세서 리눅스 서버 ..이 로컬 호스팅
아마도 테이블의 색인이 제대로 생성되지 않았을 수 있습니다. 그것은 환자 ID에 의해 색인되어야 하는가? –
(** : ** 귀하의 코드는 SQL 삽입에 취약합니다. **) 모든 인덱스? 와일드 카드 접두사를 피하기 위해 데이터를 개조하는 방법은 무엇입니까? 전체 텍스트 검색으로 간주 되나요? – eggyal
더 나은 코드를 제공합니다.이 사이트는 인터넷에 연결되어 있지 않아도 로컬에 호스팅됩니다. –