2012-02-27 4 views
0

우리는 도구를 변경할 때 특정 값을 업데이트하는 특정 데이터베이스에서 작동하는 도구를 사용합니다. 몇 가지 간단한 작업에는 시간이 오래 걸립니다. 테이블, 열 및 해당 열의 값이 업데이트되었는지 알아야합니다.값이 'xyz'인 열 이름을 oracle9i의 데이터베이스에서 검색합니까?

이 경우에는 column_name의 값이 "XYZ"이고 해당 테이블/테이블이있는 전체 데이터베이스를 찾아야합니다.

이러한 모든 스크립트.

+0

[Oracle Search 모든 테이블의 모든 열에 대한 문자열] (http : // stackoverflow.com/questions/6389666/oracle-search-all-tables-all-columns-for-string) –

+0

이렇게하면 도움이 될 것입니다 : http://stackoverflow.com/a/5350405/330315 –

+0

또 다른 접근법은 도구가 실행되는 동안 데이터베이스에 저장됩니다. –

답변

3

수 있습니다.을 완료한다고해서 이되어야합니다.이 완료되어야합니다.

나는 당신이 당신의 프로세스를 이런 식으로 설계했다는 것을 알고 있고, 당신이 그것을 바꾸고 싶지는 않을 것이라고 생각하지만, 정말로, 진지하게 뭔가를하는 것을 피하기 위해 이것을 재 설계한다면 당신의 인생은 훨씬 나아질 것이다. ,해서는 안됩니다. 마법의 일부 문자열을 찾아 전체 데이터베이스의 모든 텍스트 필드를 검색하는 것은 나쁜 생각입니다. 실제로 Big Bad Ideas 중 하나 일뿐입니다. Baddest Idea는 아니지만, 다른 일을 더 잘 수행하는 데 심각한 고려 사항을 제공해야한다는 생각이 충분히 큽니다.

그래, 뭐가 잘못 되었니?

먼저 데이터베이스를 사용하고 있지 않다는 것을 나타냅니다. 사용자는 midden을 사용하고 있습니다. 당신은 물건을 털어 내고 나중에 그것을 파헤 치기를 희망합니다. 이것은 수천 년 전에 사람들이 한 일이었습니다 (부싯돌이 최첨단 기술을 사용했을 때 대중적이었습니다). 그리고 고고학자들이 쓰레기 더미를 파고 들도록 유지하는 데 도움이되지만 우리는 고고학자가 아닌 소프트웨어 개발자이며, 이런 종류의 일을 정기적으로해야합니다.

두 번째로 심각한 성능 저하 요인입니다. 신중한 정적 코드를 작성하여 모든 테이블의 모든 필드를 면밀히 검사하거나, 모든 필드를 힘들이지 않게 확인하는 좀 더 신의 모범적 인 쿼리를 동적으로 작성하기위한 중간 정도의 간단한 코드를 작성할 것입니다 모든 테이블에. 여기에 초점을 맞춘 단어는 "힘든"것입니다. 그리고 "신 - 끔찍한". 데이터베이스의 모든 테이블에서 모든 행을 검색하고 모든 행에서 모든 필드를 테스트하는 것은 느려질 것입니다. 아주, 아주 천천히. 그것은 타이어에 자국을 남기면서 죽은 거북이 일 것입니다. 이것은 지역 전력 회사의 주식을 소유하고 있고 생성 된 모든 전자가 고용주 컴퓨터에서 행복한 가정을 보유하고 있는지 확인하기를 원하지 않는 한 할 수있는 좋은 방법이 아닙니다.

셋째, 사람들은 자신의 코드를 볼 때 강한 감정을 갖습니다. 관리 분야의 경력자는 웃을 것입니다. 왜냐하면 그들은 을 유지 관리하거나 성능 문제를 해결할 필요가 없다는 것을 알고 있기 때문입니다. 그들이 기술적 인 문제를 해결하기 위해 할 수있는 일이 없다는 것을 알기 때문에 기술적으로 도전받는 사람들은 울부 짖습니다. 진정한 코드 워리어 (Code Warriors)는 잠시 놀라서 쳐다볼 것입니다. 그리고 그 다음에는 이빨을 갈아 입히고, 사냥하고, 녹색 바 (Wands Of Green-Bar) 의식으로 죽음에 이릅니다.

다시 생각해 보겠습니다. 다시 한번 말하지만, 단지 일 수 있다고해서 그것이 이어야합니다.이 완료되어야합니다.

공유하고 즐기십시오.

관련 문제