一、实验说明: 操作系统:rhel 5.4 x86 数据库:Oracle 11g R2 实验说明:该实验参照了谭老师的《让Oracle跑的
一、实验说明:
操作系统:rhel 5.4 x86
数据库:Oracle 11g R2
实验说明:该实验参照了谭老师的《让Oracle跑的更快2》中的一个案例。
二、在数据库中创建带加载数据的分区表及索引
----------创建一个包含3个分区的分区表,分区的字段是一个时间字段,分别存放2011年、2012年和之后的数据。-----
SQL> create table jack_test(id int,name varchar2(60),created date)
2 partition by range(created)
3 (
4 partition p2011 values less than(to_date('2012-01-01','yyyy-mm-dd')),
5 partition p2012 values less than(to_date('2013-01-01','yyyy-mm-dd')),
6 partition pmax values less than (maxvalue)
7 );
Table created.
----------创建全文索引----------------------------------------------------------------------
SQL> create index jack_test_ind on jack_test(name) indextype is ctxsys.context local;
Index created.
三、在数据库中创建临时表
----------创建一个和jack_test表结构完全相同的临时表jack_test,只是它不是分区表,临时表上暂时不需要创建索引-------jack_temp
3 Table created.
四、由程序将待加载的数据写成固定格式的文件
---------下面是sqlldr的一个控制文件-------------------------
[oracle@node2 jack]$ vi jack_test_2011.ctl
OPTIONS (DIRECT=TRUE)
LOAD DATA
INFILE '/home/oracle/jack/jack_test_2011.dat'
BADFILE '/home/oracle/jack/jack_test_2011.bad'
DISCARDFILE '/home/oracle/jack/jack_test_2011.dsc'
APPEND INTO TABLE jack_temp
(id TERMINATED BY WHITESPACE,
name TERMINATED BY WHITESPACE,
created DATE "YYYY-MM-DD HH24:MI:SS" TERMINATED BY WHITESPACE)
----------下面是需要加载的格式文件中的部分数据--------------------------
[oracle@node2 jack]$ more jack_test_2011.dat
13628 index 2011-6-8
13629 index 2011-6-8
13630 index 2011-6-8
13631 index 2011-6-8
13632 index 2011-6-8
13633 index 2011-6-8
13634 index 2011-6-8
13635 index 2011-6-8
13636 index 2011-6-8
13637 index 2011-6-8
13638 index 2011-6-8
13639 index 2011-6-8
13640 index 2011-6-8
13641 index 2011-6-8
13642 index 2011-6-8
13643 index 2011-6-8
五、使用SQL*Loader将文件装载入临时文件中
-------------开始加载数据---------------------------------------------------
[oracle@node2 jack]$ sqlldr jack/jack control=jack_test_2011.ctl
SQL*Loader: Release 11.2.0.1.0 - Production on Tue Dec 25 14:59:25 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Load completed - logical record count 27381.
---------------验证是否加载成功-----------------------------
SQL> set linesize 150;
SQL> set pagesize 100;
SQL> select * from jack_test where rownum
no rows selected
SQL> select * from jack_temp where rownum
ID NAME CREATED
---------- ------------------------------------------------------------ ---------
13628 index 08-JUN-11
13629 index 08-JUN-11
13630 index 08-JUN-11
13631 index 08-JUN-11
13632 index 08-JUN-11
13633 index 08-JUN-11
13634 index 08-JUN-11
13635 index 08-JUN-11
13636 index 08-JUN-11
9 rows selected.
SQL> select count(*) from jack_temp;
COUNT(*)
----------
27378
SQL> select count(*) from jack_test partition (p2011);
COUNT(*)
----------
0
SQL> select count(*) from jack_test;
COUNT(*)
----------
0
六、在临时表中创建全文索引和其他需要的索引

Mysqlhandlesconcurrencyusingamixofrow-leveLandTable-levellocking, principalement throughinnodb'srow-levellocking.comparedtootherrdbm

Mysqlhandlestransactionseffectively usingtheinNodBengine, soutenant lespropertisimilartopostgresqlandoracle.1) MySqlusesRepeatableReadSthedefaultisolationLevel

Les types de données MySQL sont divisés en types numériques, date et heure, chaîne, binaires et spatiaux. La sélection du type correct peut optimiser les performances de la base de données et le stockage de données.

Les meilleures pratiques incluent: 1) Comprendre la structure des données et les méthodes de traitement MySQL, 2) Indexation appropriée, 3) Évitez de sélectionner *, 4) en utilisant les types de jointure appropriés, 5) Utilisez des sous-requêtes avec prudence, 6) Analyser les requêtes avec Explication, 7) Considérez l'impact des requêtes sur les ressources du serveur, 8) Maintenir la base de données régulièrement. Ces pratiques peuvent faire des requêtes MySQL non seulement rapidement, mais aussi la maintenabilité, l'évolutivité et l'efficacité des ressources.

MysqlisbetterforspeedandsImplicité, adapté aux webapplications; postgresqlexcelsincomplexdatascenarioswithrobustfeatures.mysqlisidealforquickprojectsAndread-havevytasks, tandis que

MySQL traite la réplication des données à travers trois modes: réplication asynchrone, semi-synchrone et de groupe. 1) Les performances de réplication asynchrones sont élevées mais les données peuvent être perdues. 2) La réplication semi-synchrone améliore la sécurité des données mais augmente la latence. 3) La réplication du groupe prend en charge la réplication et le basculement multi-maître, adaptés aux exigences de haute disponibilité.

L'instruction Explication peut être utilisée pour analyser et améliorer les performances de la requête SQL. 1. Exécutez la déclaration Expliquez pour afficher le plan de requête. 2. Analyser les résultats de sortie, prêter attention au type d'accès, à l'utilisation d'index et à la commande de jointure. 3. Créer ou ajuster les index en fonction des résultats de l'analyse, optimiser les opérations de jointure et éviter la numérisation complète de la table pour améliorer l'efficacité de la requête.

L'utilisation de MySQLDump pour la sauvegarde logique et MySQLenterPriseBackup pour la sauvegarde à chaud sont des moyens efficaces de sauvegarder les bases de données MySQL. 1. Utilisez MySQLDump pour sauvegarder la base de données: mysqldump-uot-pmydatabase> mydatabase_backup.sql. 2. Utilisez MySQLenterPriseBackup pour Hot Backup: MySqlBackup - User = root-patkword = mot de passe - Backup-Dir = / path / to / backupbackup. Lorsque vous récupérez, utilisez la vie correspondante


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP
