zoukankan      html  css  js  c++  java
  • sql 当中的 count 用法 及两个库复制数据时该列不能为空

      今天写sql时,用到了count,大家都知道count是统计数量的,因为我不管在写什么统计时,一般都会用直接这么用 select count (*) from 表,

    不知道其它人在用count时,是不是也是count (*) ,由于我们的数据库数据量是在40W数据之内,且该表字段数量在70个左右,

    用count(*)时,用时有时会在0-1秒之间,有时会在0秒(有可能是电脑速度问题),就在我查的同时,脑中忽然出现,为什么不直接count(id)呢?

    id列肯定是不为空的,于是就反复查询count(id),操作其它语句的再进行测试count(id)和count(*),发现用时都是在0秒,但是心里感觉还是count(id)要快一些。

    所以建议,如果遇到count时,不用*,直接用id列

      同理,如果在查select * from 表时,不如直接查select 字段,字段,字段...from 表,去掉没有用的字段,这样查出来的数据比*查出来的要快.

      刚才,从A库当中直接打开某个表,复制其中部分数据,到远程B库中的表里,提示该列值不能为空,查看复制的数据当中,该列没有为空的数据,

    后来想到,可能是因为复制的数据当中其它字段存在在空值,当中并不是NULL这样的值。所以打乱了字段的数据。

      后来想办法,先查出来导成Excle数据,再导入数据,谁知,导成的Excle表,当中数据也是乱的。于是就再试复制,把用sql查出来的数据进行复制,

    再再远程B库的表里粘贴,这下成功了,不知道是什么逻辑,直接打开表复制,不可以,查询出来的数据复制就可以。

  • 相关阅读:
    Linux命令大全
    paramiko 使用总结(SSH 操作远端机器)
    Django之ModelForm详解
    django模板之forloop
    学习VUE笔记及遇到的坑
    bootstrap table加载失败
    使用RedisTemplate遇到的坑
    grunt 不是内部或外部命令,也不是可运行的程序或批处理文件
    SpringBoot关于系统之间的远程互相调用
    数据在网络中的传输
  • 原文地址:https://www.cnblogs.com/beidao/p/2822128.html
Copyright © 2011-2022 走看看