MYSQL配置与优化

通过慢日志查询可以知道哪些SQL语句执行效率低下
通过explain我们可以得知SQL语句的具体执行情况,索引使用等,还可以结合show命令查看执行状态。
通过profiling命令得到更准确的SQL执行消耗系统资源的信息。

MySQL中各数据类型的取值范围

MySQL中各数据类型的取值范围

TINYINT
-128 - 127
TINYINT UNSIGNED
0 - 255
SMALLINT
-32768 - 32767
SMALLINT UNSIGNED
0 - 65535
MEDIUMINT
-8388608 - 8388607
MEDIUMINT UNSIGNED
0 - 16777215
INT 或 INTEGER
-2147483648 - 2147483647
INT UNSIGNED 或 INTEGER UNSIGNED
0 - 4294967295
BIGINT
-9223372036854775808 - 9223372036854775807
BIGINT UNSIGNED
0 - 18446744073709551615

浏览器地址栏的二维码插件

由于经常会用手机来测试网页的手机版,为了减少输入,所以非常喜欢地址栏的二维码插件,只需要轻轻一扫,就能够在手机端打开需要测试的网页了。
火狐已经有这样的插件了,不过,如果你安装的不是火狐中国版,默认就没有了,你可以到下面的地址去安装:
扩展地址:http://g-fox.cn/chinaedition/addons/cpmanager/cpmanager-1.2.13.xpi
而Chrome,由于访问不方便(~&~,需要跳墙),所以我就参照着网上的方法自己动手弄了一个:
qrcode.rar
具体的安装方法就是:
1、更多工具->扩展程序
2、拖放文件qrcode.crx到扩展程序界面进行安装
安装后效果如下图:

PHPExcel自定义Chart的颜色

1、打开文件PHPExcel\Writer\Excel2007\Chart.php
2、找到函数_writePlotGroup
3、在
foreach($plotSeriesOrder as $plotSeriesIdx => $plotSeriesRef) { 之前添加代码
$colorNDX=array();
$colorNDX[0] = "ff33cc";
$colorNDX[1] = "ffff00";
$colorNDX[2] = "ffc000";
$colorNDX[3] = "00b0f0";
$colorNDX[4] = "ff0000";
$colorNDX[5] = "058beb";
$colorNDX[6] = "06eb6e";
$t =$plotGroup->getPlotValues();

批量删除MS SQL中的表


//批量删除MS SQL中的表
DECLARE @tablename VARCHAR(100)
DECLARE @sql VARCHAR(500)
DECLARE cur_delete_table CURSOR READ_ONLY FORWARD_ONLY FOR

SELECT name FROM sysobjects WHERE name LIKE 'BSTemp%' AND type='U'
OPEN cur_delete_table
FETCH NEXT FROM cur_delete_table INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
  SELECT @sql='DROP TABLE '+@tablename
  EXEC (@sql)
  FETCH NEXT FROM cur_delete_table INTO @tablename
END
CLOSE cur_delete_table
DEALLOCATE cur_delete_table


如果是视图,则type='V', 同时DROP TABLE改为DROP VIEW

ms sql动态获取指定表名的字段的字段类型


SELECT
  (CASE WHEN a.colorder=1 THEN d.name ELSE '' END) N'表名',
  a.colorder N'字段序号',
  a.name N'字段名',
  (CASE WHEN COLUMNPROPERTY( a.id, a.name, 'IsIdentity')=1 THEN '√'ELSE '' END) N'标识',
  (CASE
    WHEN (
      SELECT COUNT(*) FROM sysobjects WHERE name IN (
        SELECT name FROM sysindexes
        WHERE id = a.id AND
            indid IN (SELECT indid FROM sysindexkeys WHERE id = a.id AND colid in (SELECT colid FROM syscolumns WHERE id = a.id AND name = a.name)
        )
      ) AND xtype = 'PK')>0
    THEN '√'
    ELSE '' END
  ) N'主键',
  b.name N'类型',
  a.length N'占用字节数',
  COLUMNPROPERTY(a.id,a.name,'PRECISION') AS N'长度',
  ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0) AS N'小数位数',
  (CASE WHEN a.isnullable=1 THEN '√' ELSE '' END) N'允许空',
  ISNULL(e.text, '') N'默认值'
FROM syscolumns a
LEFT JOIN systypes b  ON a.xtype=b.xusertype
INNER JOIN sysobjects d ON a.id=d.id AND d.xtype='U' AND d.name<>'dtproperties'
LEFT JOIN syscomments e ON a.cdefault=e.id
WHERE d.name = 'DOC_ORG' --要查询的表
ORDER BY object_name(a.id), a.colorder

关于全月一次加权平均法的思考与优化

基本概念:全月一次加权平均法(Weighted-averageSystem)什么是全月一次加权平均法  全月一次加权平均法是以本月的期初数量和本月全部进货数量作为权数,取出本月全部进货成本加上期初的进货成本,计算出本月存货平均单位成本,以此作为基础算出本月的发出存货的成本以及月末的库存实际成本。

全月一次加权平均法的计算公式: 

平均单位成本=  (期初结存材料成本+∑(本月入库成本)) / ( 期初结存数量+∑(本月入库数量) )
发出成本 = 发出数量×平均单位成本结存成本 = 结存数量×平均单位成本