精华内容
下载资源
问答
  • 数据库查询时间过长原因

    千次阅读 2016-05-25 16:06:21
    今天新遇到的问题,2000万行的数据库,靠主键在程序里查询的时候需要5秒,但是在SQL中查询只要0.05秒。最后发现原因是在数据库里的数据类型为VarChar,在程序里面传递的Parameter为String类型,不对应VarChar对应的...

    今天新遇到的问题,2000万行的数据库,靠主键在程序里查询的时候需要5秒,但是在SQL中查询只要0.05秒。

    最后发现原因是在数据库里的数据类型为VarChar,在程序里面传递的Parameter为String类型,不对应

    VarChar对应的是AnsiString类型,如果是String类型的数据需要进行转换才能执行。

    同样的,NVarchar对应的是String类型。错误的数据类型也会导致

    展开全文
  • 解决navicat中使用SQL语句操作数据库查询时间过长的问题 解决方法的内容由以下链接转载得来:https://blog.csdn.net/weixin_44296929/article/details/106813103 Navicat -右键点击设置的数据库- 编辑连接 - 高级 - ...

    解决navicat中使用SQL语句操作数据库查询时间过长的问题

    解决方法的内容由以下链接转载得来:https://blog.csdn.net/weixin_44296929/article/details/106813103

    Navicat -右键点击设置的数据库- 编辑连接 - 高级 - 勾选保持连接间隔(系统默认240) - 输入框设置10 - 点击确定
    在这里插入图片描述

    展开全文
  • 下面这段sql ``` SELECT TT1.COUNT - TT2.COUNT COUNT ...所用查询时间需要8秒多,请问有什么方法能够优化这个查询~~~ ![图片说明](https://img-ask.csdn.net/upload/201708/02/1501660092_519544.png)
  • MySQL创建数据库和创建数据表

    万次阅读 多人点赞 2019-10-20 23:44:40
    MySQL 创建数据库和创建数据表 MySQL 是最常用的数据库,在...数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是SQL(Structured Query Language) 结构化查询语言。 SQL 的主要功能是和数据库...

    MySQL 创建数据库和创建数据表

    MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。

    在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。

    一、数据库操作语言

    数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是 SQL(Structured Query Language) 结构化查询语言。

    SQL 的主要功能是和数据库建立连接,进行增删改查的操作。SQL是关系型数据库管理系统的标准语言。

    SQL 语言的作用:

    1. 数据定义语言 DDL(Data Definition Language) 。用于创建数据库,数据表。

    2. 数据操作语言 DML(Data Manipulation Language) 。用于从数据表中插入、修改、删除数据。

    3. 数据查询语言 DQL(Data Query Language) 。用于从数据表中查询数据。

    4. 数据控制语言 DCL(Data Control Language) 。用来设置或修改数据库用户或角色的权限。

    使用 SQL 操作数据库时,所有的 SQL 语句都以分号结束。(切换数据库时可以不用分号)

    在 SQL 语句中,不区分大小写,编写 SQL 语句时可以根据情况用大小写的区别来增加可读性。

    二、创建数据库

    1. 连接 MySQL

    输入 mysql -u root -p 命令,回车,然后输入 MySQL 的密码(不要忘记了密码),再回车,就连接上 MySQL 了。

    mysql -u root -p

    最初,都是使用 root 用户登录,工作中如果一直用 root 用户登录,因为权限太大,风险是很大的,所以等创建好权限适合的用户后,就不要经常登录 root 用户了。

    2. 查看当前的数据库

    使用 show databases; 查看当前安装的 MySQL 中有哪些数据库。

    show databases;

    刚安装 MySQL 时,默认有四个数据库,information_schema,mysql,perfomance_schema,sys 。通常情况下,我们不会直接使用这四个数据库,但千万不要把这四个数据库删了,否则会带来很多不必要的麻烦。如果不小心删了,建议是重新安装 MySQL ,在重装之前把自己的数据迁移出来备份好,或者从其他服务器上迁移一个相同的数据库过来。

    3. 创建数据库

    使用 create database 数据库名; 创建数据库。

    create database MyDB_one;

    创建数据库成功后,数据库的数量变成了5个,多了刚才创建的 MyDB_one 。

    4. 创建数据库时设置字符编码

    使用 create database 数据库名 character set utf8; 创建数据库并设置数据库的字符编码。

    create database MyDB_two character set utf8;
    

    直接创建的数据库,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。

    create database MyDB_three charset utf8;

    character set 可以缩写成 charset ,效果是一样的。

    5. 查看和显示数据库的编码方式

    使用 show create database 数据库名; 显示数据库的创建信息。

    show create database MyDB_one;
    show create database MyDB_two;

    如果不知道一个数据库的编码方式是什么,可以使用 show create database 数据库名 来查看数据库的编码方式。可以看到刚才创建的 MyDB_one 的编码方式是 MySQL 的默认编码 latin1 ,MyDB_two 的编码方式是 utf-8 。

    当然,这种方式不能在创建的同时显示,只能查看一个已经存在的数据库的编码方式。

    6. 使用 alter database 数据库名 character set utf8; 修改数据库编码

    alter database MyDB_one character set utf8;

    如果一个数据库的编码方式不符合使用需求,可以进行修改。刚才创建的 MyDB_one 经过修改后,编码方式也变成了 utf-8 。

    7. 进入或切换数据库

    使用 use 数据库名 进入或切换数据库。

    use MyDB_one
    use MyDB_two;

    刚连接上 MySQL 时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。

    use 数据库名 这个命令后面的分号可以省略,这是 SQL 语句中唯一可以省略分号的语句。

    8. 显示当前数据库 select database();

    select database();

    进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。

    三、创建数据表

    1. 查看当前数据库中的表

    使用 show tables;查看当前数据库中有哪些表。

    show tables;
    

    在刚才创建的数据库 MyDB_one 中,还没有创建任何表,所以当前是空的。

    2. 创建表

    使用 create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…); 来创建一张表。

    create table Phone_table(pid INT, name CHAR(20), price INT);

    在 MyDB_one 中创建了一个叫 Phone_table 的数据表,这张表有三个字段 pid,name,price 。为了增加 SQL 的可读性,字段名我用的是小写,字段类型用大写。

    3. 显示表信息

    用 show create table 表名; 来显示已创建的表的信息。

    show create table Phone_table;

    使用 show create table 表名;  可以显示表的字段信息, MySQL 的引擎,和默认的字符编码等信息。与显示数据库信息一样,show 只能显示已经创建了的数据表的信息,不能在创建的同时显示信息。

    如果想更好地展示表的字段信息,可以使用 desc 表名; 来显示表的字段信息。

    4. 给表增加字段

    使用 alter table 表名 add 字段名 数据类型; 为已存在的表添加一个新字段。

    alter table Phone_table add color CHAR(20);

    添加后,刚才的表中多了一个字段,新增成功。

    5. 删除表的字段

    使用 alter table 表名 drop 字段名; 删除一个表中已存在的字段。

    alter table Phone_table drop price;

    删除字段后,表中不再有该字段。

    6. 修改字段的数据类型

    使用 alter table 表名 modify 字段名 数据类型; 修改表中现有字段的数据类型。

    alter table Phone_table modify name VARCHAR(12);

    修改之后,该字段的数据类型发生改变。

    7. 修改字段的数据类型并且改名

    使用 alter table 表名 change 原字段名 新字段名 数据类型; 修改表中现有字段的字段名和类型。

    alter table Phone_table change name pname CHAR(18);

    现在,将表的 name 改成了 pname ,同时修改了 pname 的数据类型。

    四、MySQL 常用字段类型

    一个数据表是由若干个字段组成的,一个表十几个字段也很正常,每个字段表示不同的信息,需要使用不同类型的数据。

    所以在创建表的时候,要为每个字段指定适合的数据类型。

    MySQL 中常用的字段类型有以下这些:

    1. 整数类型

    数据类型数据范围
    TINYINT-128 -- 127
    SMALLINT-32768 -- 32767
    MEDIUMINT-2^23 -- 2^23-1
    INT-2^31 -- 2^31-1
    BIGINT-2^63 -- 2^63-1

    2. 字符串类型

    数据类型字节范围用途
    CHAR(n)0 -- 255字节定长字符串
    VARCHAR(n)0 -- 65535字节变长字符串
    TEXT0 -- 65535字节长文本数据
    LONGTEXT0 -- 2^32-1字节极大文本数据
    BLOB0 -- 65535字节二进制长文本数据
    LONGBLOB0 -- 2^32-1字节二进制极大文本数据

    3. 小数类型

    m 表示浮点数的总长度,n 表示小数点后有效位数。

    数据类型数据用法数据范围
    FloatFloat(m,n)7位有效数
    DoubleDouble(m,n)15位有效数
    DecimalDecimal(m,n)28位有效数

    4. 时间类型

    数据类型格式用途
    DATEYYYY-MM-DD日期
    TIMEHH:MM:SS时间
    YEARYYYY年份
    DATETIMEYYYY-MM-DD HH:MM:SS日期和时间
    TIMESTAMP10位或13位整数(秒数)时间戳

    5. 枚举类型

    enum(枚举值1,枚举值2,...)

    枚举类型只能在列出的值中选择一个,如性别。

     

     

    展开全文
  • 通过sql查询数据库启动时间的方法。 highgo=# select pg_postmaster_start_time(); pg_postmaster_start_time ------------------------------- 2017-04-28 11:11:17.805223+08 (1 row) 查询数据库启动时:...

    作者:瀚高PG实验室 (Highgo PG Lab)- 徐云鹤
    通过sql查询数据库启动时间的方法。

    highgo=# select pg_postmaster_start_time();
       pg_postmaster_start_time    
    -------------------------------
     2017-04-28 11:11:17.805223+08
    (1 row)
    

    查询数据库启动时长:

    highgo=# select sysdate()-pg_postmaster_start_time() as uptime;
             uptime         
    --------------------------
     729 days 23:59:54.718483
    (1 row)
    









    展开全文
  • 数据库面试

    千次阅读 多人点赞 2019-02-13 09:03:42
    一、数据库问答题 1. SQL语言包括哪些类型? 数据定义DDL:Create Table,Alter Table,Drop Table, Create/Drop Index等 数据操纵DML:Select ,insert,update,delete, 数据控制DCL:grant,revoke 2. 内联接,外联接...
  • 数据库学习】数据库总结

    万次阅读 多人点赞 2018-07-26 13:26:41
    1,数据库 1)概念 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 常见数据库管理系统有:Access、mysql、sql server 2)特点 ①数据库数据特点 永久存储、有组织...
  • 数据库面试题

    千次阅读 多人点赞 2018-05-24 10:46:20
    数据库面试题 1.什么是存储过程?用什么来调用? 存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯...
  • MySQL数据库范围、模糊、时间范围查询语句 My Environment MySQL5.46 1. 模糊查询语句 SELECT 字段 FROM TABLENAME WHERE 某字段 Like 条件 其中条件有四种匹配方式: 1、%:表示任意0个或多个字符。可匹配任意...
  • SQL数据库查询语句

    万次阅读 多人点赞 2016-08-26 23:40:12
    select语句除了可以查看数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息、复制、创建数据表。其查询功能强大,是SQL语言的灵魂语句,也是SQL中使用频率最高的语句。 基本select语句: 一个基本...
  • es数据库查询API

    千次阅读 2019-08-07 18:12:46
    本质上是前缀树加上后缀树的结合,利用这个数据结构可以把Term更节省内存地放置并查询,它有着字典树的查询时间复杂度,但是由于做了后缀合并会更节约内存 传统Bitmap优化 使用Bitmap来记录文档的Id,每个bit对应...
  • 查询PostgreSQL数据库的运行时间

    千次阅读 2018-05-24 14:01:14
    [pg104@dbserver ~]$ psql -d postgres psql (10.4) Type "help" for help. postgres=# select version(); version ...
  • 谈谈时间序列数据库

    千次阅读 2019-11-12 21:00:07
    文章目录什么是时间序列数据时序数据格式时序数据的应用场景时间序列数据的特点常见时序数据库对比opentsdbprometheusinfluxdb设计一种时序数据库功能点存储读写流程分布式存储其它 本文转自...
  • 数据库原理》— 数据库系统概论第五版习题解析

    万次阅读 多人点赞 2017-05-29 14:57:48
    数据库系统概论前七章习题解析 第1章绪论 1.试述数据、数据库数据库系统、数据库管理系统的概念。答: (l)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。...
  • 问题:Oracle数据库 sql查询的优化(成交额统计表的sql查询时间过长进行的优化) 解决办法:对sql语句中使用视图的部分替换为子查询,对查询表条件字段建立索引 引发的问题:在什么情况下建立索引,及建立索引后...
  • 前言:前几天在用jmeter做性能测试的时候,遇到一个响应时间长的性能问题,简单总结一下,分享给大家,希望能给大家在性能测试过程中类似问题提供一个性能问题分析定位的思路。 现象如下图,响应时间很长,达到了18...
  • 数据库使用:QSQLITE数据库建立:1)创建数据库表数据类型 2)存入测试数据(.CSV文件数据导入)3)tabview显示表数据4)根据条件查询数据遇见问题总结:主要出现在数据库查询部分,但是归根结底还是数据库time类型...
  • 数据库查询优化方法

    万次阅读 多人点赞 2018-09-06 15:26:07
    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id ...
  • mysql数据库查询优化

    千次阅读 2018-07-31 15:18:25
    mysql数据库频繁的CURD操作是十分吃磁盘I/O的,一般可以认为磁盘I/O是硬件方面制约mysql数据库性能的最大因素。 解决方法:目前一般使用RAID0-1磁盘阵列来解决。 2.系统配置 下面是已经配置好的my.cnf [mysqld...
  • 数据库查询速度优化之解决技巧

    千次阅读 2018-08-22 11:25:59
    1、对查询进行优化,应尽可能避免全表扫描 首先应考虑在 where 及 order by 涉及的列上...从这两种方式查询数据库结果看,建立索引之后查询速度提高了些,现在数据量还不明显,如果表中有10万条速度,差异就会很明显...
  • mysql数据库查询好慢解决方法

    千次阅读 2018-07-29 13:12:48
    一、慢查询:MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log 这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。 2,long_query_time 当SQL语句执行时间超过此数值时,就会...
  • 查询数据库时间显示 时 分 秒

    千次阅读 2016-04-08 14:54:09
    DATE_FORMAT(fsp.submit_time,GET_FORMAT(DATETIME,'ISO')) as submitTime , 显示格式为(yyyy-mm-dd hh:mi:ss)
  • 数据库相关各种超时时间

    千次阅读 2019-04-27 19:58:26
      事务超时时间规定了事务执行时间的上限,通常包含两大部分:SQL执行时间,以及业务处理时间,即Transaction timeout = Statement Timeout * N(所有SQL执行总时间) + 业务处理时间; @Transactional(timeout = 3...
  • Mysql 执行查询语句时间长的解决方案 问题描述: 根据业务需要修改了一个sql查询语句,执行后查询时间平均十几秒,sql语句修改前执行时间不到一秒。因此对sql语句进行优化。sql语句如下: SELECT p.v_...
  • 本文翻译自Coding-Geek文章:《 How does a relational database work》。 ... 本文翻译了如下章节: 一、 前言 ...谈到关系型数据库,我想不到有什么东西能缺少它,可以说关系型数据已经无处不在...
  • 其实连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。 通常的短连接操作步骤是: 连接-》数据传输-》关闭连接; 而连接通常就是: 连接-》数据传输-》保持连接-》数据传输-》保持...
  • Oracle 数据库监听日志大,怎么清除?

    千次阅读 热门讨论 2021-09-22 13:50:57
    数据库运行长时间之后,日志文件就会一直变大,这时就需要定时清理!如果不清理,当日志大小达到 4G 左右的时候,可能会导致数据库宕机,无法使用! 以 Linux 为例,以下为清除监听日志的详细步骤: 1、查询监听...
  • 数据库查询,修改日期 数字格式

    千次阅读 2018-07-31 15:56:48
    改为年-月-日输出 select DATE_FORMAT(brokerage_date,'%Y-%m-%d') as brokerageDate from table1 改为年-月-日 时:分:秒输出 select date_format(pay_end_time,'%Y-%m-%d %H:%i:%s') from table1 ...
  • 数据库

    千次阅读 2019-02-23 17:44:47
    1. 云数据库概述 1.1. 云计算是云数据库兴起的基础 1.2. 云数据库概念 云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 484,639
精华内容 193,855
关键字:

数据库查询时间过长