문자열이 알파벳순으로 인덱싱 된 SQL 데이터베이스 테이블에서 부분 문자열 일치를 기준으로 검색 쿼리를 수행하려면 어떻게해야합니까? 우리는 단지의 길이에 관심부분 문자열 일치 길이를 기준으로 효율적인 SQL 버킷 정렬
bandana (index 0-3 matched)
banana (index 0-2 matched)
banker
bad (index 0-1 matched)
bed (index 0 matched)
brother
참고를 다음과 같이 주문한 결과를 기대
bad
banana
bandana
banker
bed
brother
그리고 검색 문자열 band
: 데이터 세트 주어진 예를 들어
, substring matched. 각 물통 에 속하는 일치 항목을 사전 순으로 정렬 할 필요는 없으며 단지에 속하는 버킷에만 관심이 있습니다. 주문 경기 길이
- :
그래서 나는 문제가 포함 순진하게 생각 버킷을 내림차순으로 정렬합니다. (일치하는 4 개의 문자, 3 개의 일치하는 문자, 2 ..)
그러나 이것은 비싸다고 들지만, SQL 또는 C# 훌륭하게?
여기에서 얻을 수있는 비슷한 문제/패턴이 있습니까?
많은 감사
당신이 실제 문자열 일치를 수행 할 때 사용하는 알고리즘을 공유 할 수 있습니까? – cha
나는이 단계에서 여전히 내 머리 속의 코드를 공식화하고 있기 때문에 제안을 할 수있다. 실행 시간이 사용 된 메모리보다 우선하는 바람직한 복잡성이 있어야합니다. – ComethTheNerd