数据类型

高性能MYSQL读书要点摘录_3_Schema与数据类型优化

好久不见. 提交于 2019-12-06 11:15:53
一 选择优化的数据类型 更小的通常更好:占用更少的磁盘,内存 ,CPU。同时要确保没有低估要存储值的范围。 简单就好:简单的数据类型操作通常需要更少的CPU周期。比如 整形比字符操作的代价更低。 尽量避免NULL:通常情况下最好指定列为NOT NULL,除非真的要存储为NULL。因为如果查询中包含NULL的列,对MYSQL来说更难优化,因为可为NULL的列使得索引,索引统计和值比较都更加复杂。同时 可为NULL的列会使用更多的存储空间,在MYSQL里需要特殊处理。 为列确定合适的数据类型,第一步需要确定合适的大类型:数字,字符串,时间等;第二步,选择具体的类型。很多MYSQL的数据类型可以存储为相同的数据类型,只是存储的长度和范围不一样、允许的精度不同,相同大类型的不同子类型数据有时也有一些特殊的行为和属性。例如datetime和timestamp列都可以存储相同的类型的数据:时间和日期,精确到秒。然而timestamp只使用datetime一半的存储空间,并且会根据时区变化,具有特殊的自动更新能力。另一方面,TIMESTAMP允许的时间范围要小的多,有时候它的特殊能力会成为障碍。MYSQL为了兼容性支持很多别名,例如INTEGER,BOOL,NUMERIC都是整形,只是别名不同。通过show create table 可以查看基本类型,而不是别名。 二 整数类型 整数类型包含

PHP MYSQL数据库知识记录小知识点

纵然是瞬间 提交于 2019-12-05 18:05:38
2011年 用LOAD DATA INFILE 导入大量数据,速度提高很多 LOAD DATA INFILE语句结束时,会按以下格式返回一个信息字符串: Records: 1 Deleted: 0 Skipped: 0 Warnings: 0 set_time_limit(0); 用来设置当前php脚本执行时间无限 mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE 。 对于其它类型的 SQL 语句, mysql_query() 在执行成功时返回 不同的值 ,可以用mysql_info()获取; 而出错时返回 FALSE 。 非FALSE 的返回值意味着查询是合法的并能够被服务器执行; 很有可能一条查询执行成功了但并未影响到或并未返回任何行。 因此 php中要小心传入的sql语句,及其返回值; ‘\n’不会换行 “\n” 会换行,因为双引号包裹 varchar(n) 当输入 多于 n 时 直接取前 n个字符 开发时最好个给测试数据库设置密码 开发时希望直连本机或者公共的mysql 请使用 grant all PRIVILEGES on *.* to 'user'@'%' identified by '123456'; flush privileges;

《oracle pl/sql程序设计》学习笔记一

↘锁芯ラ 提交于 2019-12-03 02:08:03
本篇主要是记录一些容易混淆或者以前理解不够清楚的知识点,只选择常用知识点。 一、case语句和case表达式 1、case语句和case表达式都有两种模式:简单型和搜索型。 简单型:case exp when res1 then ... res2 then ... [else ...] (end case |end); 搜索型 :case when exp1 then ... exp2 then ... [else ...] (end case |end). 2、区别 case语句没有匹配项会报错;case表达式不会,返回null。 case语句以end case结尾;case表达式以end结尾。 二、for循环只有数值型下标和游标两种方式循环,数值型的上下标只在第一次循环前求值(包括表达式计算和四舍五入)。 三、11g以后新增了continue [label1] [when exp1]语句,用于执行下一个循环。 四、异常处理 1、sqlcode 获取当前异常号,正常为0. 2、sqlerrm 最原始的异常信息获取方式,最大512字节。不带参数时返回当前sqlcode对应的信息。带参数时返回指定sqlcode的信息。 3、dbms_utility.format_error_stack 比sqlerrm可容纳字节多,达1899字节,只能返回当前sqlcode对应的信息。 4、dbms

C语言基础-01-基本数据类型

删除回忆录丶 提交于 2019-12-01 21:12:18
C语言的数据类型大致可以分为下图中的几类: 一、变量 跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。为什么一定要先 定义 呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。比如你是char类型,我就只给你分配1个字节就够了,没必要分配2个字节、3个字节乃至更多的存储空间。 下面的表格描述了在16位编译器环境下,基本数据类型所占用的存储空间,了解这些细节,对以后学习指针和数组时是很有帮助的 需要注意的是: 1.局部变量的使用跟Java稍微有点不一样 1> 在Java中,你声明了一个局部变量后,如果没有经过初始化赋值就使用该变量,编译器直接报错 第9行报错了,因为变量a没有初始化 2> 在C语言中,你声明看一个局部变量后,没有经过初始化赋值是可以使用的 1 #include <stdio.h> 2 3 int main() 4 { 5 int b; 6 printf("%d", b); 7 return 0; 8 } 但这是很危险的,不建议这样做。大多数人应 该觉得变量b打印出来应该是0,其实不是。因为系统会随意给变量b赋值,得到的是垃圾数据。 上述代 码的打印结果是: 因此,局部变量还是必须先进行初始化赋值,然后再使用,这样才是最安全的做法。 * 如果 是 全局 的int类型变量

JavaScript: 数据类型

荒凉一梦 提交于 2019-11-27 19:17:10
我喜欢JavaScript.它是一门集强大与灵活于一身的语言,当然前提是你得知道如何去正确的使用它.一旦你真正掌握了JavaScript,你几乎可以用它来做任何事情,而且能做的既快又好. 如果你认为JavaScript太简单或者太低级,那么你已经掉入了一个陷阱.并且你会发现有很多人已经掉入了这样的陷阱中了.这些所谓的JavaScript开发者也许会告诉你,一些其他的语言 “X” 更好.他们甚至会说,如果有一个将能将X语言转换为JavaScript的系统,那就太好了.想要逃出这个陷阱一直到真正的掌握JavaScript需要付出很多的努力和贡献.相信我,因为从1997年开始,我就已经在学习JavaScript了. 我是通过学习 官方标准文档 掌握了JavaScript的所有高级知识,所以你也可以通过这种方法来掌握完整的语言知识.如果你的职称中包含了“JavaScript开发者”,那么你应该这样做. 在本篇博客中,我将会给出一个短小的JavaScript代码片段,然后让你给出这段代码的正确输出.如果你是一个JavaScript开发者,你会发现这样的题目真是太简单了.如果你仍然处在学习这门语言的过程中,你可能会遇到一些困难,不过你可以好好读一下代码下面的解释部分. 下面的JavaScript代码显示了一个弹出框.弹出框中显示什么? 1 2 3 var five = 5; five