programing

MySQL과 SQL Server의 차이점

projobs 2022. 10. 11. 21:58
반응형

MySQL과 SQL Server의 차이점

저는 ASP입니다.를 사용한 NET 개발자Microsoft SQL Server(직장에서도 개인 프로젝트에서도) 모든 데이터베이스 요구에 대응합니다.

개인 프로젝트에 LAMP 스택을 시험해 볼 생각입니다.

의 주요 차이점은 무엇입니까?MySQL ★★★★★★★★★★★★★★★★★」SQL Server? 스토어드 프로시저를 사용하는 것이 일반적인 방법입니까?MySQL무슨 일입니까?

스위치 조작에 도움이 될 만한 조언이나 리소스가 있습니까?

가지 기능을 해 본 이 있는 에게는, 「 」의 이 되어 있지 .MySQL

주의해야 할 점은 SQL Server와 MySQL의 SQL 구문 구현 방식이 상당히 다르다는 것입니다.

여기에서는 SQL 구현의 차이점을 비교합니다.

예를 들어 top-n 섹션을 확인합니다.MySQL의 경우:

SELECT age
FROM person
ORDER BY age ASC
LIMIT 1 OFFSET 2

SQL Server(T-SQL):

SELECT TOP 3 WITH TIES *
FROM person
ORDER BY age ASC

여기의 많은 논평들은 실제의 진술이라기 보다는 종교적인 논쟁처럼 들린다.MySQL과 MSSQL을 수년간 사용해 왔습니다.둘 다 좋은 제품입니다.당신이 작업하고 있는 환경에 따라 MySQL을 선택하겠습니다.대부분의 오픈 소스 프로젝트는 MySQL을 사용하기 때문에 그 방향으로 가면 MySQL을 선택할 수 있습니다.를 사용하여 무언가를 개발하는 경우.Net MSSQL을 선택하는 것은 훨씬 낫기 때문이 아니라 대부분의 사람들이 사용하는 것이므로 선택합니다.저는 현재 ASP를 사용하는 프로젝트를 진행하고 있습니다.MySQL 및 C#을 사용하는 NET.그것은 완벽하게 잘 작동한다.

MySQL이 Common Table Expressions(CTE) / with 문을 지원하지 않는다고 아무도 언급하지 않았다니 믿을 수 없습니다.꽤 성가신 차이네요.

MySQL은 데이터베이스 손상 문제가 발생할 가능성이 높으며, 발생 시 자동으로 수정되지 않습니다.버전 6.5부터 MSQL을 사용해 왔지만 데이터베이스가 오프라인으로 전환되는 데이터베이스 손상 문제는 기억나지 않습니다.실제 환경에서 MySQL을 사용한 적은 몇 번 있었지만 데이터베이스 손상 문제로 인해 전체 데이터베이스가 오프라인 상태가 되었습니다.이때 명령줄에서 "파손된 인덱스를 수정해 주세요"라는 마법이 실행되었습니다.

지금까지의 경험으로는 MSQL의 트랜잭션 및 저널링 시스템은 전원 재투입이나 하드웨어 장애 등 거의 모든 것을 데이터베이스 파손 없이 처리할 수 있으며, 문제가 생겼을 경우 자동으로 복구됩니다.

이것은 제 경험이고, 저는 이 문제가 해결됐거나 우리가 뭔가 잘못된 일을 하고 있다는 것을 듣고 싶습니다.

http://dev.mysql.com/doc/refman/6.0/en/corrupted-myisam-tables.html

http://www.google.com/search?q=site%3Abugs.mysql.com+index+corruption

솔직히 MSSQL이 아닌 MySQL을 사용해야 하는 이유를 찾을 수 없습니다.이전에는 비용이 많이 들었지만 SQL Server 2005 Express는 무료입니다.또한 SQL Server를 사용한 풀호스팅을 월 5.00달러 이하로 제공하는 웹 호스팅 회사가 많이 있습니다.

MSSQL은 MySQL에는 없는 많은 기능을 갖추고 있어 사용이 편리합니다.

MySQL의 모든 작업은 MSSQL보다 금속에 가까운 것으로 보이며 문서에서는 그렇게 취급하고 있습니다.특히 최적화를 위해서는 인덱스, 시스템 구성 및 최적기가 다양한 상황에서 어떻게 상호 작용하는지 이해해야 합니다.

"optimizer"는 파서에 가깝습니다.MSQL에서는 쿼리 계획이 의외인 경우가 많습니다(보통 양호하거나 그렇지 않은 경우도 있습니다).MySQL에서는 사용자가 원하는 대로 실행할 수 있습니다.그 말은 여러분 자신이 다양한 방법을 깊이 이해할 필요가 있다는 뜻입니다.

양호한 TRANSACTION 모델(기본 MyISAM 엔진)을 기반으로 구축되지 않았습니다.

파일 시스템 셋업이 문제입니다.

모든 데이터베이스 구성, 특히 다양한 캐시 크기가 문제입니다.

때때로 그것을 미화된 임시방편으로 생각하는 것이 가장 좋은 것처럼 보인다.Codd와 Date는 여기서 큰 영향력을 가지고 있지 않다.그들은 그것을 당황하지 않고 말할 것이다.

MySQL 5.0 이전 버전에는 뷰, 트리거, 스토어드 프로시저가 없었다는 것이 가장 주의해야 할 점 중 하나라고 생각합니다.

자세한 내용은 MySQL 5.0 다운로드 페이지에서 설명합니다.

@parames(@parames)

MySQL이 MSSQL에 비해 가지고 있는 주요 기능은 타임존 지원입니다.타임존을 적절하게 변경할 수 있어 서머타임이 매우 우수합니다.

비교:

mysql> SELECT CONVERT_TZ('2008-04-01 12:00:00', 'UTC', 'America/Los_Angeles');
+-----------------------------------------------------------------+
| CONVERT_TZ('2008-04-01 12:00:00', 'UTC', 'America/Los_Angeles') |
+-----------------------------------------------------------------+
| 2008-04-01 05:00:00                                             |
+-----------------------------------------------------------------+

답변에 수반되는 왜곡에 대해 설명하겠습니다.

사용하기 쉬운 코멘트입니다만, 요점은 서로 다르다는 것입니다.그 중 하나를 알면 다른 하나를 배우는 데 오버헤드가 생깁니다.

둘 다 DBMS의 제품 SQL 서버는 상용 애플리케이션이고 MySql은 오픈 소스 애플리케이션입니다.두 제품 모두 동일한 기능을 포함하고 있지만 엔터프라이즈 솔루션에는 SQL 서버를 사용해야 합니다.단, mysql은 소규모 구현에 적합합니다.복구, 레플리케이션, 그래널 보안 등의 기능이 필요한 경우 SQL 서버가 필요합니다.

MySql은 디스크 공간을 적게 차지하고 메모리 및 CPU를 SQL 서버에 비해 적게 사용합니다.

SQL Server에서 MySQL로 데이터베이스의 "포트"를 사용해 본 경험이 있는 분?

꽤 고통스러울 거야!MySQL 버전을 4.x에서 5.x로 변경했는데, 다양한 문장이 예전처럼 작동하지 않습니다.쿼리 분석기가 "개선"되었기 때문에 이전에 성능을 위해 조정된 문장은 더 이상 예상대로 작동하지 않습니다.

500GB MySQL 데이터베이스 사용으로 얻은 교훈:그것은 미묘한 주제이고 다른 것은 결코 사소한 것이 아니다!

@Cebjyre.지금까지 본 MySQL의 IDE는 Enterprise Manager와 Management Studio 중 어느 것이든 최고입니다.MySQL에는 대응책이 없는 MSQL에서 많은 작업을 수행할 수 있기 때문에 '사용하기 더 쉽다'고 말합니다.MySQL에서는 쿼리 플랜을 보거나 통계를 보는 것만으로 쿼리를 조정하는 방법을 알 수 없습니다.MSQL의 인덱스 조정 마법사는 누락되거나 잘못 배치된 인덱스에 대한 대부분의 추측 작업을 수행합니다.

MySQL의 단점 중 하나는 데이터베이스의 최대 크기가 없다는 것입니다.디스크가 가득 찰 때까지 데이터베이스의 크기가 커집니다.이 디스크가 다른 사용자와 데이터베이스를 공유하고 있는데 데이터베이스가 확장되지 않아 갑자기 모든 쿼리가 실패했다고 가정해 보십시오.이 문제는 이미 MySQL에 보고한 적이 있습니다.아직 고쳐지지 않은 것 같아요.

MSSQL에서 MySQL 구문 POV에 이르기까지 MySQL을 사용하는 데 시간이 걸렸지만, 나는 내가 할 수 있는 일에 한계가 있었다.

업데이트 중에 동일한 테이블을 참조하는 동안 테이블을 업데이트하는 데 큰 제한이 있습니다.

또한 UPDATE FROM은 작동하지 않으며, 마지막으로 확인했을 때 Oracle MERGE INTO 구문도 지원하지 않습니다.이것은 저에게 쇼스토퍼였고, 그 이후로는 MySQL로 어떤 일을 할 수 있을지 생각하지 않게 되었습니다.

언급URL : https://stackoverflow.com/questions/10616/differences-between-mysql-and-sql-server

반응형