5 MySQL Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333

     5.1 Optimisation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333
          5.1.1 MySQL Design Limitations/Tradeo s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
          5.1.2 Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
          5.1.3 What Have We Used MySQL For? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335
          5.1.4 The MySQL Benchmark Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336
          5.1.5 Using Your Own Benchmarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337

          5.2 Optimising SELECTs and Other Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
          5.2.1 EXPLAIN Syntax (Get Information About a SELECT). . . . . . . . . . . . . . . . . . . . . . .338
          5.2.2 Estimating Query Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
          5.2.3 Speed of SELECT Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344
          5.2.4 How MySQL Optimises WHERE Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344
          5.2.5 How MySQL Optimises DISTINCT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
          5.2.6 How MySQL Optimises LEFT JOIN and RIGHT JOIN . . . . . . . . . . . . . . . . . . . . . 346
          5.2.7 How MySQL Optimises ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
          5.2.8 How MySQL Optimises LIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348
          5.2.9 Speed of INSERT Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
          5.2.10 Speed of UPDATE Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351
          5.2.11 Speed of DELETE Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351
          5.2.12 Other Optimisation Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

     5.3 Locking Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
          5.3.1 How MySQL Locks Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
          5.3.2 Table Locking Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

     5.4 Optimising Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
          5.4.1 Design Choices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
          5.4.2 Get Your Data as Small as Possible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
          5.4.3 How MySQL Uses Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
          5.4.4 Column Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
          5.4.5 Multiple-Column Indexes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
          5.4.6 Why So Many Open tables? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
          5.4.7 How MySQL Opens and Closes Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
          5.4.8 Drawbacks to Creating Large Numbers of Tables in the Same Database . . 362

     5.5 Optimising the MySQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363
          5.5.1 System/Compile Time and Startup Parameter Tuning . . . . . . . . . . . . . . . . . . . .363
          5.5.2 Tuning Server Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
          5.5.3 How Compiling and Linking A ects the Speed of MySQL . . . . . . . . . . . . . . . . . . 365
          5.5.4 How MySQL Uses Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
          5.5.5 How MySQL uses DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
          5.5.6 SET Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
          
     5.6 Disk Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
          5.6.1 Using Symbolic Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
          5.6.1.1 Using Symbolic Links for Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
          5.6.1.2 Using Symbolic Links for Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374
| | | | | | | |
  • Return to Table of Contents
  •  

    Customer Support CentreMySQL Reference Manual

    Web Hosting Services
    UNIX WEB HOSTING
    SUPPORT & FAQ's
    TERMS OF USE
    Domain Services
    DOMAIN REGISTRATION
    MANAGE YOUR ACCOUNT
    SUPPORT & FAQ's
    TERMS OF USE
    SITE MAP
    Home
    Hosting Plans | Domain Registration | About Us | Contact Us | Site Map
    Terms of Use | Privacy Policy | Guarantees
    Merchant Accounts

    SpiritHost - web hosting for spiritual and education sites
    SpiritHit.com - Religious and Spiritual Portal
  • Return to Table of Contents
  • Back to top