2009-05-08 5 views
5

Sybase, Infomix, DB2와 같은 다른 데이터베이스 제품을 수년 동안 사용해 본 후에 MySQL 5.1 Enterprise를 사용할 때; 나는 MySQL이하는 일을하지 않습니다. 예를 들어 SELECT 쿼리에 대한 EXPLAIN 쿼리 계획 만 생성 할 수 있습니다.MySQL 제한

다른주의해야 할 사항은 무엇입니까?

+1

이탤릭체로 된 'real'은이 질문을 주관적이고 논리적 인 것으로 혼자서 끝낼 것입니다. – chaos

+0

ok, 변경 * 실제 * 폐쇄 소스 –

+0

그 문구를 완전히 삭제하는 것이 좋습니다. "수년간의 데이터베이스 제품 사용 ..." –

답변

4

전체 외부 조인. 하지만 여전히 왼쪽 외부 조인 유니언 오른쪽 외부 조인을 수행 할 수 있습니다.

7

현재 긴 목록을 살펴 수 있습니다

+0

좋은 목록이지만 MySQL 5.0에서는 100 % 정확하지 않을 수 있습니다. –

+0

맞아, 나는 위의 mysql 버전을 명확히했다. –

1

그것은 재산을하지 않는 비용에 대한 허용합니다. 오라클 데이터베이스에 여러 코어가있는 여러 시스템에서 클러스터 된 웹 사이트를 구축하십시오. 아야.

1

여전히 CHECK 제약 조건을 수행하지 않습니다!

2

프로젝트에서 한동안 늦은 것은 MySQL 날짜 유형이 밀리 초를 저장할 수 없다는 것입니다. 시간차 및 타임 스탬프는 초 단위로만 해결됩니다! 이 상황이 발생했던 정확한 상황을 기억할 수는 없지만 코드에 날짜로 변환 될 수있는 정수 (밀리 초로 완료)를 저장해야합니다.

MySQL의 JDBC 드라이버는 프로그램의 메모리가 부족 해지면 (OutOfMemory 예외를 throw하는) 기본적으로 결과를 캐시합니다. 당신은 그것을 해제 할 수 있습니다,하지만 당신은 당신이 그것을 만들 때 문에 일부 이상한 매개 변수를 전달하여 그것을 할 수 있습니다

Statement sx = c.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,java.sql.ResultSet.CONCUR_READ_ONLY); 
sx.setFetchSize(Integer.MIN_VALUE); 

당신이 할 경우 해당 JDBC 드라이버하지 않습니다 캐시 메모리의 결과, 그리고 거대한 쿼리를 할 수 하지만 ORM 시스템을 사용한다면? 자체적으로 명령문을 작성하지 않으므로 캐싱을 해제 할 수 없습니다. ORM 시스템이 많은 레코드와 관련된 작업을 수행하려고한다면 기본적으로 완전히 망가 졌음을 의미합니다.

그들은 어떤 의미가 있다면, 그들은 JDBC URL에 의해 구성 할 수 있습니다. 오 잘.