MySQL 최적화 - 추가, 삭제 및 수정에 대한 구체적인 분석(그림)
삽입
추가 행 쿼리 결과가 테이블에 삽입됩니다.
구문
INSERT INTO table_name1(column_list1) SELECT (column_list2) FROM table_name2 WHERE (condition)
table_name1은 데이터가 삽입될 테이블을 지정합니다. table_name2는 삽입할 데이터를 지정합니다.
쿼리 대상 테이블은 데이터 소스 테이블의 쿼리 열을 지정합니다. 이 목록은 동일한 수의 필드와 동일한 데이터 유형을 가져야 합니다. column_list1 list;
condition은 SELECT 문의 쿼리 조건을 지정합니다.
person_old 테이블의 모든 레코드를 쿼리하여 person 테이블에 삽입합니다.
CREATE TABLE person ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, NAME CHAR(40) NOT NULL DEFAULT '', age INT NOT NULL DEFAULT 0, info CHAR(50) NULL, PRIMARY KEY (id) ) CREATE TABLE person_old ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, NAME CHAR(40) NOT NULL DEFAULT '', age INT NOT NULL DEFAULT 0, info CHAR(50) NULL, PRIMARY KEY (id) ) INSERT INTO person_old VALUES (11,'Harry',20,'student'),(12,'Beckham',31,'police') SELECT * FROM person_old
레코드가 성공적으로 삽입되었으며 이제 person_old 테이블에 두 개의 레코드가 있는 것을 볼 수 있습니다. 다음으로 person_oldperson_old 테이블의 모든 레코드를 person 테이블
INSERT INTO person(id,NAME,age,info) SELECT id,NAME,age,info FROM person_old; SELECT * FROM person
에 삽입하면 데이터 전송이 성공한 것을 확인할 수 있습니다. 여기서 id 필드는 자동 증가 기본 키의 경우 삽입 시 필드 값의 고유성이 보장되어야 합니다. 확실하지 않은 경우 삽입 시 필드를 무시할 수 있습니다.
값만 삽입하세요. 다른 필드
다시 실행하면 한 번은 잘못됩니다
MYSQL과 SQLSERVER의 차이점:
차이점 1
가져올 데이터에 중복된 값이 있는 경우 MYSQL에는 세 가지 옵션이 있습니다.
옵션 1: 사용 무시 키워드
옵션 2: 대체 항목 사용
옵션 3: ON DUPLICATE KEY UPDATE
두 번째 및 세 번째 옵션은 더 복잡하고 요구 사항을 충족하지 않기 때문에 여기서는 소개하지 않습니다. 여기서는 첫 번째 옵션에 대해서만 이야기합니다
TRUNCATE TABLE person TRUNCATE TABLE persona_old INSERT INTO person_old VALUES (11,'Harry',20,'student'),(12,'Beckham',31,'police') ##注意下面这条insert语句是没有ignore关键字的 INSERT INTO person(id,NAME,age,info) SELECT id,NAME,age,info FROM person_old; INSERT INTO person_old VALUES (13,'kay',26,'student') ##注意下面这条insert语句是有ignore关键字的 INSERT IGNORE INTO person(id,NAME,age,info) SELECT id,NAME,age,info FROM person_old;
삽입이 성공한 것을 확인할 수 있습니다
SQLSERVER
SQLSERVER 측에서 중복 키를 무시하려면 WITH 지정이 필요합니다(IGNORE_DUP_KEY=ON) 테이블 생성 시 ON [ PRIMARY]
이렇게 삽입할 때 중복된 값이 있으면 SQLSERVER는 처음에는 해당 값을 유지하고 두 번째로 중복된 값이 발견되면 SQLSERVER는 이를 무시합니다.
차이 2
자동 증가 열 삽입 시 차이점
SQLSERVER SET을 사용해야 합니다. IDENTITY_INSERT 테이블 이름 ON 자동 증가 필드의 값을 테이블에 삽입합니다. SET IDENTITY_INSERT 테이블 이름 ON
테이블에 데이터를 삽입할 때 자동 증가 필드의 값을 지정할 수 없으며, id 필드의 값을 지정할 수 없으며 SQLSERVER가 자동으로 증가시킵니다.一
아아아아
근데 MYSQL은 필요없고 자유도가 엄청 크네요
당신 id 필드의 값을 NULL로 지정하면 MYSQL이 자동으로 id 값을 쓰지 않고 INSERTINTO person(NAME,age,info) VALUES ('feicy',33,'student')
INSERTINTO person(id,NAME,age,info) VALUES (NULL,'feicy',33,'student')
SET IDENTITY_INSERT 테이블 이름 ON 옵션을 지정할 필요가 없습니다.
차이 3
MYSQL
MYSQL에서는 UNIQUE null 필드의 경우 인덱스가 실패합니다INSERT IGNORE INTO person(id,NAME,age,info) VALUES (16,'tom',88,'student')위의 삽입 문을 반복적으로 삽입할 수 있습니다(Union Unique 인덱스의 경우에도 마찬가지)SQLSERVERSQLSERVER가 작동하지 않습니다
INSERT IGNORE INTO person(NAME,age,info) VALUES ('amy',12,'bb')
insert into test(a) values(null) insert into test(a) values(null)
업데이트
업데이트가 상대적으로 간단하고 별로 말이 없습니다
CREATE TABLE person ( id INT NOT NULL IDENTITY(1,1), NAME CHAR(40) NULL DEFAULT '', age INT NOT NULL DEFAULT 0, info CHAR(50) NULL, PRIMARY KEY (id) ) CREATE UNIQUE INDEX IX_person_unique ON [dbo].[person](name) INSERT INTO [dbo].[person] ( [NAME], [age], [info] ) VALUES ( NULL, -- NAME - char(40) 1, -- age - int 'aa' -- info - char(50) ), ( NULL, -- NAME - char(40) 2, -- age - int 'bb' -- info - char(50) )
删除
删除person表中一定范围的数据
DELETE FROM person WHERE id BETWEEN 14 AND 17 SELECT * FROM person
如果要删除表的所有记录可以使用下面的两种方法
##方法一 DELETE FROM person ##方法二 TRUNCATE TABLE person
跟SQLSERVER一样,TRUNCATE TABLE会比DELETE FROM TABLE 快
MYISAM引擎下的测试结果,30行记录
跟SQLSERVER一样,执行完TRUNCATE TABLE后,自增字段重新从一开始。
################################ INSERT IGNORE INTO person(id,NAME,age,info) SELECT id,NAME,age,info FROM person_old; SELECT * FROM person TRUNCATE TABLE person INSERT IGNORE INTO person(NAME,age,info) VALUES ('amy',12,'bb') SELECT * FROM person
当你刚刚truncate了表之后执行下面语句就会看到重新从一开始
SHOW TABLE STATUS LIKE 'person'
위 내용은 MySQL 최적화 - 추가, 삭제 및 수정에 대한 구체적인 분석(그림)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

innodbbufferpool은 데이터와 인덱싱 페이지를 캐싱하여 디스크 I/O를 줄여 데이터베이스 성능을 향상시킵니다. 작업 원칙에는 다음이 포함됩니다. 1. 데이터 읽기 : BufferPool의 데이터 읽기; 2. 데이터 작성 : 데이터 수정 후 BufferPool에 쓰고 정기적으로 디스크로 새로 고치십시오. 3. 캐시 관리 : LRU 알고리즘을 사용하여 캐시 페이지를 관리합니다. 4. 읽기 메커니즘 : 인접한 데이터 페이지를 미리로드합니다. Bufferpool을 크기를 조정하고 여러 인스턴스를 사용하여 데이터베이스 성능을 최적화 할 수 있습니다.

다른 프로그래밍 언어와 비교할 때 MySQL은 주로 데이터를 저장하고 관리하는 데 사용되는 반면 Python, Java 및 C와 같은 다른 언어는 논리적 처리 및 응용 프로그램 개발에 사용됩니다. MySQL은 데이터 관리 요구에 적합한 고성능, 확장 성 및 크로스 플랫폼 지원으로 유명하며 다른 언어는 데이터 분석, 엔터프라이즈 애플리케이션 및 시스템 프로그래밍과 같은 해당 분야에서 이점이 있습니다.

MySQL은 데이터 저장, 관리 및 분석에 적합한 강력한 오픈 소스 데이터베이스 관리 시스템이기 때문에 학습 할 가치가 있습니다. 1) MySQL은 SQL을 사용하여 데이터를 작동하고 구조화 된 데이터 관리에 적합한 관계형 데이터베이스입니다. 2) SQL 언어는 MySQL과 상호 작용하는 열쇠이며 CRUD 작업을 지원합니다. 3) MySQL의 작동 원리에는 클라이언트/서버 아키텍처, 스토리지 엔진 및 쿼리 최적화가 포함됩니다. 4) 기본 사용에는 데이터베이스 및 테이블 작성이 포함되며 고급 사용량은 Join을 사용하여 테이블을 결합하는 것과 관련이 있습니다. 5) 일반적인 오류에는 구문 오류 및 권한 문제가 포함되며 디버깅 기술에는 구문 확인 및 설명 명령 사용이 포함됩니다. 6) 성능 최적화에는 인덱스 사용, SQL 문의 최적화 및 데이터베이스의 정기 유지 보수가 포함됩니다.

MySQL은 초보자가 데이터베이스 기술을 배우는 데 적합합니다. 1. MySQL 서버 및 클라이언트 도구를 설치하십시오. 2. SELECT와 같은 기본 SQL 쿼리를 이해하십시오. 3. 마스터 데이터 작업 : 데이터를 만들고, 삽입, 업데이트 및 삭제합니다. 4. 고급 기술 배우기 : 하위 쿼리 및 창 함수. 5. 디버깅 및 최적화 : 구문 확인, 인덱스 사용, 선택*을 피하고 제한을 사용하십시오.

MySQL은 테이블 구조 및 SQL 쿼리를 통해 구조화 된 데이터를 효율적으로 관리하고 외래 키를 통해 테이블 간 관계를 구현합니다. 1. 테이블을 만들 때 데이터 형식을 정의하고 입력하십시오. 2. 외래 키를 사용하여 테이블 간의 관계를 설정하십시오. 3. 인덱싱 및 쿼리 최적화를 통해 성능을 향상시킵니다. 4. 데이터 보안 및 성능 최적화를 보장하기 위해 데이터베이스를 정기적으로 백업 및 모니터링합니다.

MySQL은 웹 개발에 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 주요 기능에는 다음이 포함됩니다. 1. 다른 시나리오에 적합한 InnoDB 및 MyISAM과 같은 여러 스토리지 엔진을 지원합니다. 2.로드 밸런싱 및 데이터 백업을 용이하게하기 위해 마스터 슬레이브 복제 기능을 제공합니다. 3. 쿼리 최적화 및 색인 사용을 통해 쿼리 효율성을 향상시킵니다.

SQL은 MySQL 데이터베이스와 상호 작용하여 데이터 첨가, 삭제, 수정, 검사 및 데이터베이스 설계를 실현하는 데 사용됩니다. 1) SQL은 Select, Insert, Update, Delete 문을 통해 데이터 작업을 수행합니다. 2) 데이터베이스 설계 및 관리에 대한 생성, 변경, 삭제 문을 사용하십시오. 3) 복잡한 쿼리 및 데이터 분석은 SQL을 통해 구현되어 비즈니스 의사 결정 효율성을 향상시킵니다.

MySQL의 기본 작업에는 데이터베이스, 테이블 작성 및 SQL을 사용하여 데이터에서 CRUD 작업을 수행하는 것이 포함됩니다. 1. 데이터베이스 생성 : createAbasemy_first_db; 2. 테이블 만들기 : CreateTableBooks (idintauto_incrementprimarykey, titlevarchar (100) notnull, authorvarchar (100) notnull, published_yearint); 3. 데이터 삽입 : InsertIntobooks (Title, Author, Published_year) VA


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.
