Wordpress共有10个表,按照功能大致分为四类。
为厦门等地区用户提供了全套网页设计制作服务,及厦门网站建设行业解决方案。主营业务为网站设计制作、成都做网站、厦门网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
user: 用户信息,包括wp_users表和wp_usermeta表。
post: 文章及评论信息,包括wp_posts、wp_postmeta、wp_comments、wp_post2cat以及wp_categories五个表。
link: 链接信息,包括wp_links表和wp_linkcategories表。
option: 全局设置信息,包括wp_options表。
个人认为这个数据库有两个冗余的地方。一个是wp_post2cat表中的主键rel_id,其实可以不要rel_id,而使用post_id和category_id两列作为主键;另一个是wp_options表,option_id列为自动增长列,仅使用该列即可作为主键,而不需要option_id、blog_id、option_name三列联合做主键。
另外,表的命名规则也很有意思。基本规则总结如下:
保存对象的基本属性,命名为 wp_objects,使用复数(如 wp_posts,wp_comments);
保存对象的扩展属性,命名为 wp_objectmeta,使用单数(如wp_postmeta,wp_usermeta);
多对多关系,命名为 wp_a2b,其中a和b分别为多对多关系两端的对象名的缩写(如wp_post2cat)。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。“总是在灾难发生后,才想起容灾的重要性。总是在吃过亏后,才记得曾经有人提醒过。”,所以此处列出一些MySQL的必要的优化和建议。
1. 核心类
♦ 不在数据库做计算,cpu计算务必移至业务层;
♦ 控制单表数据量,单表记录控制在千万级;
♦ 控制列数量,字段数控制在20以内;
♦ 平衡范式与冗余,为提高效率可以牺牲范式设计,冗余数据;
♦ 拒绝3B(big),大sql,大事务,大批量;
2. 字段类
♦ 用好数值类型
tinyint(1Byte)
smallint(2Byte)
mediumint(3Byte)
int(4Byte)
bigint(8Byte)
bad case:int(1)/int(11)
♦ 有些字符转化为数字
例如:用int而不是char(15)存储ip
♦ 优先使用enum或set
例如:sex enum (‘F’, ‘M’)
♦ 避免使用NULL字段
NULL字段很难查询优化
NULL字段的索引需要额外空间
NULL字段的复合索引无效
bad case:
name char(32) default null
age int not null
good case:
age int not null default 0
♦ 不在数据库里存图片
3. 索引类
♦ 谨慎合理使用索引
改善查询、减慢更新
索引一定不是越多越好(能不加就不加,要加的一定得加)
覆盖记录条数过多不适合建索引,例如“性别”
♦ 字符字段必须建前缀索引
♦ 不在索引做列运算
bad case:
select id where age +1 = 10;
♦ innodb 主键合理使用自增列
主键建立聚簇索引
主键不应该被修改
字符串不应该做主键
如果不指定主键,innodb会使用唯一且非空值索引代替
♦ 不用外键,请由程序保证约束
4. sql类
♦ sql语句尽可能简单
一条sql只能在一个cpu运算
大语句拆小语句,减少锁时间
一条大sql可以堵死整个库
♦ 简单的事务
事务时间尽可能短
bad case:
上传图片事务
♦ 避免使用触发器,用户自定义函数,请由程序取而代之
♦ 不用select *
消耗cpu,io,内存,带宽
这种程序不具有扩展性
♦ OR改写为IN()
♦ OR改写为UNION
PS:最新的mysql内核已经进行了相关优化
♦ limit高效分页
limit越大,效率越低
select id from t limit 10000, 10;
应该改为 =
select id from t where id 10000 limit 10;
♦ 使用union all替代union,union有去重开销
♦ 尽量不用连接join
♦ 务必请使用“同类型”进行比较,否则可能全表扫面
♦ 打散批量更新
♦ 使用新能分析工具
show profile;
mysqlsla;
mysqldumpslow;
explain;
show slow log;
show processlist;
show query_response_time(percona)
RDS是阿里云提供的即开即用的关系型数据库服务,兼容了MySQL和SQL Server两种数据库引擎。在传统数据库的基础上,阿里云RDS提供了强大丰富的功能从而保证了高可用性、高安全性以及高性能。此外,RDS还提供了诸多便利功能提升了RDS的易用性。
★高可用:
采用主从热备的架构。主机down机或者出现故障后,备机秒级完成无缝切换,服务可用性承诺:99.95%
提供自动多重备份的机制。用户可以自行选择备份周期,也可以根据自身业务特点随时进行临时备份,数据可靠性承诺:99.9999%
数据回溯到任意时间点。用户可以选择7天内的任意时间点创建一个临时实例,临时实例生成后验证数据无误,即可将数据迁移到RDS实例,从而完成数据回溯操作。
★高安全
提供白名单访问策略。可自行设置允许访问的IP及IP段,有效防止黑客扫描端口进行服务器攻击。
提供阈值报警的功能。支持实例锁定报警、连接数报警、IOPS报警、磁盘空间使用报警、CPU报警等。
提供SQL注入告警。将对发往RDS的疑似SQL注入的语句进行记录并展示,供用户进行程序调整,杜绝SQL注入的发生。
SQL审计。记录所有发往RDS的SQL语句,系统将记录SQL语句相关的连接IP、访问数据库的名称、执行语句的账号、执行时间、返回记录数等信息。供用户对RDS安全性进行排查。
控制台操作日志。记录所有在控制台上进行的修改类操作,便于管理员查看并管理RDS。
★高性能
RDS使用高端服务器来保障每个数据库都拥有良好的性能。
针对MySQL类型的RDS,数据库版本融合了阿里巴巴官方数据库补丁,有效的提升了RDS的性能。
性能监控。提供多种监控图方便用户跟踪RDS的性能状况。如IOPS、连接数、磁盘使用空间、CPU利用率、QPS\TPS、网络流量以及多种数据库的内部监控指标图
慢SQL汇总分析。将数据库中的慢SQL进行相似语句去重,按照指定方式排序后进行展示,为用户排查慢SQL优化数据库性能提供帮助。
优化建议。提供多种优化建议方便用户优化数据库性能,如:存储引擎检查、大表检查、无主键检查、索引过多表检查、缺失索引检查等
★易用性:
提供向导式迁移服务,使用户能够通过WEB端管理控制台轻松将自建数据库迁移至RDS。
快捷查看数据库系统日志,用户能够RDS管理控制台查看数据库级别的系统日志。
便捷操作数据库实例。提供完善的WEB端管理控制台,帮助用户操作数据库实例,如重启实例、删除BINLOG、备份等等。
轻松升级,按量付费。RDS提供实例配置和数据库版本的在线升级服务,随开随用,按量付费,资源业务轻松拓展。
获取访客的IP(后期可用来获取地理位置)
获取访客的地理位置(通过IP获取)
获取访客的访问次数
获取访客的访问时间
获取访客访问的网页
获取访客访问的网页的标题
表名: my_count
字段:
id(int 10,主键,自增),
ip(varchar 20用来存储访客的IP地址),
country(varchar 20用来存储访客的国籍),
region(varchar 20用来存储访客的省份),
adress(varchar 20用来存储访客的所在城市),
time(int 10用来存储访客的访问次数),
date(datetime 6用来存储访客的访问时间),
url(varchar 30用来存储访客访问的网页),
page_url(varchar 100用来存储访客访问的网页的标题)
在/网站目录/wp-content/themes/主题名 下创建PHP文件visitorstatistics.php:
打开footer.php,在结尾插入:
完了之后点击下方的更新按钮。打开网页,会看到下方出现文字:“您是第xxx 位访客,这是您的第 xxx 次访问,感谢您的支持和关注! ”
参数:
$slug (必须) 通用的模板名
(字符串)要引入的模板的文件名,不包括后缀名 .php,也就是如果需要引入当前主题根目录的 loop.php 文件 $slug 填写 “loop” 即可。
$name(可选) 指定的模板名
(字符串)要引入的模板的文件的副文件名,如果要引入当前主题根目录的 loop-img.php 文件 $slug 参数填写 “loop”,$name 参数填写 “img”。
淘宝的接口,用来返回ip地址对应的地理信息,返回实例:
{"code":0,"data":{"ip":"101.132.162.76","country":"中国","area":"","region":"上海","city":"上海","county":"XX","isp":"阿里云","country_id":"CN","area_id":"","region_id":"310000","city_id":"310100","county_id":"xx","isp_id":"1000323"}}
原文链接: 给网站添加数据统计(wordpress实战)
欢迎访问作者网站: