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 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

cbin
运行refresh --seed 报找不到Faker\Generator
0 个点赞 | 1 个回复 | 问答 | 课程版本 7.x