(잠재적으로 중복되는) WHERE 절이 포함 된 매우 큰 SQL 쿼리를 만드는 것이 특히 바람직하지 않습니까? 그것은 보인다SQL 쿼리 (특히 MySQL)의 실제 길이 제한
SELECT *
FROM 4e_magic_items
INNER JOIN 4e_magic_item_levels
ON 4e_magic_items.id = 4e_magic_item_levels.itemid
INNER JOIN 4e_monster_sources
ON 4e_magic_items.source = 4e_monster_sources.id
WHERE (itemlevel BETWEEN 1 AND 30)
AND source!=16 AND source!=2 AND source!=5
AND source!=13 AND source!=15 AND source!=3
AND source!=4 AND source!=12 AND source!=7
AND source!=14 AND source!=11 AND source!=10
AND source!=8 AND source!=1 AND source!=6
AND source!=9 AND type!='Arms' AND type!='Feet'
AND type!='Hands' AND type!='Head'
AND type!='Neck' AND type!='Orb'
AND type!='Potion' AND type!='Ring'
AND type!='Rod' AND type!='Staff'
AND type!='Symbol' AND type!='Waist'
AND type!='Wand' AND type!='Wondrous Item'
AND type!='Alchemical Item' AND type!='Elixir'
AND type!='Reagent' AND type!='Whetstone'
AND type!='Other Consumable' AND type!='Companion'
AND type!='Mount' AND (type!='Armor' OR (false))
AND (type!='Weapon' OR (false))
ORDER BY type ASC, itemlevel ASC, name ASC
가 충분히 일할 수 :
는 예를 들어, 다음은이 프로그램이 생성을 위해 가능한 최대 쿼리 수 있어야 모든 전원이 꺼져로 내 웹 응용 프로그램에서 생성 한 쿼리,이다 하지만 특히 트래픽이 많지 않아 (하루에 수백 개의 조회수가 발생 함) 중복성 등을 제거하기 위해 쿼리를 최적화하고 최적화하려는 노력을 기울일만한 가치가 있는지 궁금합니다.
1. 질문에 대답 해 주셔서 감사합니다 실제 똑바로 대답이 없다, 그래서 이것이 내가 생각하는 서버는 조정의 유일한 진짜 한계 질의의 크기가 나에게 문제가되어서는 안된다. 2. SQL 서식 지정에 대한 정보 주셔서 감사합니다. 나는 그것에 익숙하지 않고 내가 모르는 많은 트릭이있다. (예를 들어, "타입이 없다 (...)") 3. 부록과 같이, 이것은 PHP/MySQL 어플리케이션이다. – Asmor
유용하다. 온라인 SQL 포맷터 : http://www.sqlinform.com/ – micahwittman
당신이 웹 사이트를 사용하려고 할 때 느린가요? 하루에 몇 백 개 안타가 있다면 걱정할 필요가 없습니다. 트래픽이 증가 할 것으로 예상합니까? 얼마나? 시간 낭비하지 않으면 사이트를 미래 보장 할 수 있습니다. 그러나 쿼리를 실행하는 데 걸리는 시간보다 더 큰 중복을 프로그램 적으로 찾아서 제거하는 데 걸리는 시간은 얼마입니까? –