
数据库
文章平均质量分 65
xmlife
这个作者很懒,什么都没留下…
展开
-
订单表设计参考
订单表 (order)|-- 自动编号(order_id, 自增长主键)|-- 订单单号(order_no, 唯一值,供客户查询)|-- 商店编号(shop_id, 商店表自动编号)|-- 订单状态 (order_status,未付款,已付款,已发货,已签收,退货申请,退货中,已退货,取消交易)|-- 商品数量 (product_count, 商品项目数量,不是商品)|-- 商品总价 (product_amount_total)|-- 订单金额 (order_amount_total,实际付款转载 2021-06-11 16:02:25 · 3946 阅读 · 0 评论 -
MySQL分库分表--全局ID生成方案
摘要: 介绍来自flicker和twitter的两种解决分布式环境下全局ID生成方案。目录:1. 数据库自增ID——来自Flicker的解决方案2. 独立的应用程序——来自Twitter的解决方案在大型互联网应用中,随着用户数的增加,为了提高应用的性能,我们经常需要对数据库进行分库分表操作。在单表时代,我们可以完全依赖于数据库的自增ID来唯一标识一个用户或数据对象。但是当我们对数据转载 2016-04-12 17:57:59 · 3453 阅读 · 0 评论 -
MySQL分库分表-操作类(php)
当一个表数据记录过大时就会出现性能瓶颈,而一般对应的解决办法是要么做分区表,要么分表,分区表就不说了,分表又分为垂直分割和水平分割,具体区别请自行搜索。一般而言,分库分表属于水平分割,按照一定的规则将数据插入到不同的表中去。而分库则可以很方便的转移数据库的压力,比如将一个很大库的分别放在不同的服务器上。下面是我写的一个分库分表的实现: namespace App\Model\Data转载 2016-04-12 18:00:58 · 433 阅读 · 0 评论 -
数据库优化--NoSQL的分类和说明
一、NoSQL的分类 类型部分代表特点列存储HbaseCassandraHypertable顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。文档存储MongoDBCouchDB文档存储一般用类似json的格式存转载 2016-04-12 21:19:28 · 461 阅读 · 0 评论 -
noSql-Hbase配置安装说明
环境: 操作系统:ubuntu 12.10 64bit jdk:sun jdk 1.6 64bit hadoop:apache hadoop 1.02 hbase:apache hbase 0.92 先决条件:配置apache hadoop append,默认这个属性是false,需要设置为true1)下载hbase转载 2016-04-12 21:43:49 · 302 阅读 · 0 评论 -
noSql-Hbase-php读写操作hbase数据库的基本方法
$GLOBALS['THRIFT_ROOT'] = 'thrift';require_once( $GLOBALS['THRIFT_ROOT'].'/Thrift.php' );require_once( $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php' );require_once( $GLOBALS['THRIFT_ROOT'].'/转载 2016-04-12 21:49:13 · 1403 阅读 · 0 评论 -
mySql数据库--判断库、表是否存在
方法一(在查询器?):DELIMITER $$ DROP FUNCTION IF EXISTS `func_check_db_exists`$$ CREATE FUNCTION `func_check_db_exists`(db_name varchar(64)) RETURNS varchar(20) CHARSET utf8BEGIN if exists(se转载 2016-04-12 23:03:44 · 6963 阅读 · 0 评论 -
mysql分区--使用说明
一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi转载 2016-04-13 12:07:45 · 504 阅读 · 0 评论 -
Mysql海量数据--导入导出、备份恢复方法
使用phpmyadmin确实很方便。但是当我们需要导出几百兆甚至几个G的数据库时,phpmyadmin就会很卡。甚至如果你是想导入大量数据,则phpmyadmin完全无法完成。因为phpmyadmin是基于PHP网页的,无法上传太大的sql文件。其实mysql官方给了我们很好的解决方案:mysqldump。 下面介绍,如何在Windows环境下,使用mysqldump导出数据库:转载 2016-04-13 15:38:48 · 2419 阅读 · 1 评论 -
MySQL性能测试--分区和分表测试
一,测试服务器配置:Cpu: 2*4核Intel(R) Xeon(R) E5405 @ 2.00GHz内存:4G存储:36块1T的7.2K的SATA组成raid0。使用其中的1TMysql版本:5.1.45-community-log MySQL Community Server (GPL)二,建测试表:Myisam不分区不分表,单表10亿数据量:create tabl转载 2016-04-13 15:57:52 · 4529 阅读 · 0 评论 -
mysql数据库-海量数据的存储和访问解决方案(之一)
第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访转载 2016-04-11 18:03:46 · 1154 阅读 · 0 评论 -
优化配置和索引查询--MySQL服务器进程CPU占用100%的解决方法
主机(Windows 2003 + IIS + PHP + MYSQL )近来 MySQL 服务进程 (mysqld-nt.exe) CPU 占用率总为 100% 高居不下。此主机有10个左右的 database, 分别给十个网站调用。据朋友测试,导致 mysqld-nt.exe cpu 占用奇高的是网站A,一旦在 IIS 中将此网站停止服务,CPU 占用就降下来了。一启用,则马上上升。转载 2016-04-11 21:18:29 · 432 阅读 · 0 评论 -
Mysql计划任务自动定时备份数据库方法-for windows
数据库名称为:952game数据库备份目的地:d:\db_bak\ (你想把数据库备份到哪个盘的路径)我想备到D盘的db-bak目录下面============================新建db_bak.bat,写入以下代码net stop mysqlxcopy c:\mysql\data\db_name\*.* d:\db_bak\db_name\%date:~0,3%\ /y转载 2016-07-29 20:11:54 · 6421 阅读 · 0 评论 -
MYSQL性能优化--不停机分表,修改mysql表结构
1、分库分表 很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表members,查询起来非常之慢,同事的做法是将其散列到100个表中,分别从members0到members99,然后根据mid分发记录到这些表中,牛逼的代码大概是这样子:复制代码 代码转载 2016-04-12 17:40:58 · 1885 阅读 · 0 评论 -
MySql安装问题,无法启用3306导致连接失败问题集和解决方法
1.问题一,如果安装最后配置时出现以下错误.Apply Server Configuration 配置失败 Applying security settingsCreating user accounts解决:卸载后删除Mysql数据目录,可能为隐藏,目录如下:C:\ProgramData\MySQL 目录全部删除,目录可能为隐藏D:\ProgramData\MySQ原创 2016-01-23 01:09:09 · 9006 阅读 · 2 评论 -
常用MS SQL数据查询-2016
1、多表联合查询,主表User~从表UserAddress(一对多关系),重复记录只保留1条(id最小或最大) (1)查询子表,过滤重复记录 select * from UserAddress a where not exists (select 1 from UserAddress where a.UserID=Us原创 2016-01-17 17:18:09 · 668 阅读 · 0 评论 -
Windows平台Mysql表名区分大小写的解决方法
由于windows 和linux对大小写的敏感性不同而导致的。数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的windows 下的解决方法:my.ini 里面的mysqld部分加入lower_case_table_names=2[mysqld]lower_case_table_names=2转载 2013-06-09 16:36:10 · 4955 阅读 · 0 评论 -
MS SQL Server 索引集中说明
实例一:有一表,用来存放新闻和各种文章的表表现层经常要出现的操作如下:1.按文章不同的类别(字段classid) 在不同的板块进行检索;2. 在表现层提供文章搜索服务, 可分别按关键字(keyword),标题(title),时间(news_time)检索3. 在显示最终结果时一般按时间排序(news_time)如何建立索引?-----------------转载 2013-09-28 09:55:03 · 735 阅读 · 0 评论 -
SQL用存储过程在指定字段前面插入新字段
create proc addcolumn@tablename varchar(30), --表名@colname varchar(30), --要加的列名@coltype varchar(100), --要加的列类型@colid int --加到第几列asdeclare @colid_max int declare @转载 2014-01-06 18:20:33 · 2322 阅读 · 0 评论 -
常用SQL与ACCESS数据查询语句的区别
1、对于日期字段:access表示为: select * from Table where postTime =#1981-28-12#SQLSERVER2000表示为: select * from Table where postTime ='1981-02-12'2、多表更新语句区别:select ,update 在对单表操作时都差不多,但多表操作时update语句的区别ACC原创 2014-01-24 16:42:02 · 1733 阅读 · 0 评论 -
MS SQL常用查询汇集
1. 获取最新添加ID set rs = conn.execute("insert into [tableName](fieldName) values ('value') select ident_current('表名')) '或select @@identity as 'id' 获取: rs(0)原创 2013-10-19 09:52:26 · 557 阅读 · 0 评论 -
sql执行顺序
在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回 给调用者。如果没有在查询中指定某一子句,将跳过相应的步骤。下面是对应用于SQL server 2000和SQL Server 200转载 2014-04-21 12:00:22 · 371 阅读 · 0 评论 -
SQL游标定义说明
rs.open sql, conn, 1, 1第一个是游标类型,第二个是锁定类型这里还有详细资料游标类型有四个可选值:0,1,2,3 默认为00的含义是只能向前游标,不支持分页、Recordset、BookMark 1的含义是键集游标,其他用户对记录所做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页,Recordset,BookMark 2的含义是动转载 2014-04-23 15:23:57 · 1244 阅读 · 0 评论 -
权限控制管理设计方法(指数幂)
权限控制管理在办公系统和WEB应用起着重要的作用,实现权限的方法很多,下面方法用指数幂实现: 1.定义公共操作方法,可以在配置文件(.ini | .xml)或数据库中设置: 后台权限操作,如:添加、浏览、删除、修改 (默认映射到:1, 2, 4, 8, 16, ...) 前台权限操作(独立权限,也可以合并到后台):浏览、评论、回复、发布信息、上传(大小和类型可放到角色|用户原创 2013-04-07 23:13:06 · 1416 阅读 · 0 评论 -
Mysql和SqlServer互相转换-数据源ODBC方法
环境:Windows XP sp2MS SQL Server 2OOO sp1MySql 5.0.411:MSSQLServer数据库导入到MySql数据库步骤:1.安装mysql数据库的ODBC驱动,mysql-connector-odbc-3.51.23-win32.msi,下载并安装。2.在Mysql中创建数据库实例。3.打开控制面板 --> 管理工具 -->转载 2015-01-17 17:51:46 · 2879 阅读 · 0 评论 -
mssql数据导入MySQL数据库方法-CSV导入
使用MySQL 本身的CSV导入功能,把数据导出为csv格式,在MySQL数据库里建好表,使用MySQL的LOAD DATA语句导入csv数据。具体如下:1. 先从mssql导出数据为平面文件格式:这里要注意两点,选中unicode,设置文本限定符(如图)2. 使用mssql生成创建建表的CREATE TABLE语句,对此语句修改一下,变成MySQL数据库的建表语句。可以使用文转载 2015-01-17 18:03:52 · 2022 阅读 · 0 评论 -
ASP调用带参数存储过程的几种方式
1. 这也是最简单的方法,两个输入参数,无返回值:set connection = server.createobject("adodb.connection")connection.open someDSN Connection.Execute "procname varvalue1, varvalue2"''将所有对象清为nothing,释放资源connection.closes转载 2015-03-11 17:03:53 · 446 阅读 · 0 评论 -
Zend Framework 2 Sql Service(MSSQL)数据库链接,其它架构方法类似
Step 1:下载 Microsoft Drivers 3.0 for PHP for SQL Server 驱动,本人选择的是3.0版本的,这个安装包实际上就是几个dll文件打包,建议安装到php/ext/目录下完事之后会看见多了如下几个文件php_pdo_sqlsrv_53_nts.dllphp_pdo_sqlsrv_53_ts.dllphp_pdo_sqlsrv_54_转载 2015-03-31 00:33:31 · 997 阅读 · 0 评论 -
数据库的外连接(OUTER JOIN),内连接(INNER JOIN)和交叉连接(CROSS JOIN)区别
1、交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积,返回记录的个数应当是a和b表中符合记录的和。 显式:select [cols_list] from a cross join b where [condition] 隐式:select [cols_list] from a, b where [condition] 2、内转载 2012-11-17 10:03:03 · 1640 阅读 · 0 评论