mysql中desc的用法 降序排序和表结构查看

哦,你所说的 DESC 真的很有趣。
我已经使用过它并遇到了一些问题。
让我告诉你我的经历。

去年,我们在公司做了一个项目,让客户看到最畅销的 1 0 种产品。
使用从按销售描述限制 1 0 订购的产品中选择即可完成。
一开始的数据量只有几百,但是速度非常快。
结果业务本来好好的,几万条数据跑完了就卡住了。
看看背景,在销售领域,一切都是按降序排列的。
我很快提到我需要添加一个标签。
已在产品(销售)上创建 CREATE INDEX idx_sales。
然后又跑了。
哦,那更快了。
这次事件让我意识到,对大量数据进行排序而不建立索引只是自找麻烦。

还有一次,一位新同事问我为什么表结构看起来有点奇怪,有些字段模糊地为 NULL 并且不能为空。
我告诉他使用 DESC table_name。
查看。
例如DESC用户;这样你就知道哪些字段是 INT;哪些字段是 VARCHAR? NOT NULL 您还可以查看默认值是什么。
它比直接检查 information_schema.columns 更快。
我经常使用这个方法非常方便。

但是,旧系统上的报告曾经出现过问题。
我用了 DESC 表名;检查。
有几个字段的结果与新系统完全不同。
这个老系统可以使用Oracle; MySQL 的 DESC 可能与 Oracle 的描述不同。
后来,我检查了该系统的文档并 DESCRIBE table_name;所以如果你跨系统或者遗留系统使用DESC。
使用前一定要先确认兼容性,不要盲目使用。

哦,对了,虽然你说DESC可以查表结构。
我不经常使用这个。
一般来说,存储引擎是InnoDB还是MyISAM;当您需要查看图表的完整创建信息时;字符集是utf8 还是latin1 ;显示创建表表名;例如,创建并显示表用户。
提供最全面的信息,包括引擎排序注释。
DESC只能看到现场的少量信息,不够的时候就不起作用了。

所以总结一下我自己的经验:使用DESC降序排序没有什么问题;非常光滑。
但如果数据量很大,就必须使用索引。
使用DESC就可以看到字段的基本信息了。
检查表的完整配置;你创造表演您仍然需要使用 TABLE。
对于较旧的系统或不熟悉的设备,请先尝试使用 DESC。
如果不起作用,请检查文档以查看是否需要更改命令。

没错。
我已经把坑都经历完了,总结一下。
我希望我能帮助你。

mysql中的命令showtables,desctable有什么区别?

SHOW TABLES:显示数据库中的所有表名。
2 008 MySQL 文档明确指出该命令返回不带库前缀的表名列表。
例如:显示表格;返回用户、订单。

DESC TABLE:显示表的结构。
2 01 0 年 MySQL 手册指出,DESC TABLE 返回列名、数据类型、NULL 选项和关键信息。
例如:DESC用户;显示 ID、用户名和其他列详细信息。

不要混合它们。
使用 DESC 查看结构,使用 SHOW 查看表名称。

mysql查看表结构命令详解 mysql查看表结构字段类型方法

四种方法各有其侧重点。
选择合适的工具可以省去很多麻烦。

DESCRIBE/DESC是最方便的,但是很肤浅。
上周我正在处理一个查询,但在没有看到索引顺序的情况下陷入了困境。

SHOWCOLUMNSFROM 灵活实用,具有过滤功能等。
我通常用它来检查特定字段。

SHOWCREATETABLE 是最完整的,但非常冗长。
复制表结构时比INFO_SCHEMA更直接。

INFORMATION_SCHEMA很灵活,但是写SQL很烦人。
批量查询字段属性就没啥好说的了。

为什么总是使用 DESCRIBE?从未考虑过索引策略?