11. 索引优化:单一索引

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

介绍

数据库表未添加索引,是另一个经常遇到的性能问题,尤其是在数据量较大的情况下。

接下来我们将以实例来讲解索引相关的性能问题,以及如何在 Laravel 中修复此问题。

请注意此系列文章只针对 MySQL 数据库,其他数据库大同小异。

测试数据

我们以 Larabbs 为测试项目。因索引在数据量小的情况下看不到效果,所以接下来我们将往 topics 里录入 100万 条假数据,同时移除此表里的索引。

首先修改迁移文件,主要是去除关联模型 ID user_idcategory_idindex() 调用:

database/migrations/2019_05_07_085529_create_topics_table.php

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateTopicsTable extends Migration
{
    public function up()
    {
        Schema::create('topics', function(Blueprint $table) {
            $table->increments('id');
            $table->string('title')...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0

暂无话题~