db에서 select할때 필드 값을 연산해서 사용해도 괜찮나요?

이한길의 이미지

이를테면...

SELECT * FROM mydb ORDER BY (start-end) DESC

이런 식으로 쿼리를 써도 될까요?

또 WHERE절에서 (end-start)>10 이런 식으로 하는건 어떨까요?

속도 면에서 문제가 발생할지 어떻게 될지 궁금합니다.

neogeo의 이미지

이한길 wrote:
이를테면...

SELECT * FROM mydb ORDER BY (start-end) DESC

이런 식으로 쿼리를 써도 될까요?

또 WHERE절에서 (end-start)>10 이런 식으로 하는건 어떨까요?

속도 면에서 문제가 발생할지 어떻게 될지 궁금합니다.

이정도 쿼리로는 속도에 크게 영향 받지 않습니다.

저런 쿼리도 물론 다 됩니다.

쿼리에서 정말로 속도에 영향을 미칠 만한 것은

대부분 Join 이나 cross product ( 같은 이야기 입니다 ) 를 하거나

sub query 로 여러번 거칠때 입니다.

그것도 index 를 잘 타면 속도저하를 줄일 수 있습니다. :)

Neogeo - Future is Now.