我们常见的营销型网站都是动态网站,是指由基本的html语法规范与Java、VB、VC等高级程序设计语言、数据库编程等多种技术的融合所制作出来的网站,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。
常见的网页编程语言有PHP、ASP、ASPX、JSP,而他们所用的数据库分别是Mysql,Access这两种数据库,而数据库的作用就是储存网站的内容和信息,然后在前端用HTML呈现出来的效果。
一、Mysql数据库:
mysql数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的应用软件。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。[转自百度百科]
Mysql数据库存储过程的优点:
mysql创建存储过程
1.增强SQL语言的功能和灵活性:存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
2.标准组件式编程:存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。
3.较快的执行速度:如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。
4.减少网络流量:针对同一个数据库对象的操作(如查询、修改),如果这一操作所涉及的Transaction-SQL语句被组织进存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,从而大大减少网络流量并降低了网络负载。
5.作为一种安全机制来充分利用:通过对执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。
MYSQL优化建议
1、创建索引
对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。
2、复合索引
比如有一条语句是这样的:select * from users where area='beijing' and age=22;
如果我们是在area和age上分别创建单个索引的话,由于mysql查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效率,但是如果在area、age两列上创建复合索引的话将带来更高的效率。如果我们创建了(area, age, salary)的复合索引,那么其实相当于创建了(area,age,salary)、(area,age)、(area)三个索引,这被称为最佳左前缀特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。
3、索引不会包含有NULL值的列
只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为NULL。
4、使用短索引
对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)的 列,如果在前10 个或20 个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。
5、排序的索引问题
mysql查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。
6、like语句操作
一般情况下不鼓励使用like操作,如果非使用不可,如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引。
7、不要在列上进行运算
select * from users where YEAR(adddate)<2007;
将在每个行上进行运算,这将导致索引失效而进行全表扫描,因此我们可以改成
select * from users where adddate<‘2007-01-01';
8、不使用NOT IN和<>操作
NOT IN和<>操作都不会使用索引将进行全表扫描。NOT IN可以NOT EXISTS代替,id<>3则可使用id>3 or id<3来代替。
二、Access数据库:
access数据库
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。
MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。
在开发一些小型网站WEB应用程序时,用来存储数据。例如ASP+Access。这些应用程序都利用ASP技术在InternetInformation Services运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server.[转自百度百科]
这两种数据库都需要结合编写语言才能在网页中使用,西宁网络会根据用户需求使用以上两种数据库制作网站。
Access数据库优化建议
2.1、Access数据库的安全性
1、确保Access数据库不能直接下载,也就是通过http方式无法直接下载您的数据库。如果可以下载,会被黑客利用,盗取您网站上的全部资料。
2、把Access数据库重命名成一个比较复杂的名字,不要使用默认的mdb扩展名,也不要使用asp作为扩展名。建议不用扩展名或使用一个特殊的扩展名,比如kjje4#55.aaa。
2.2、数据库大小请勿超过50M
1、经实践总结,当Access数据库超过50M时,网站的整体响应会变得非常缓慢,同时也会影响服务器上其他网站的性能。如果数据非常大,建议您迁移到我们的SQLServer数据库空间。
2、如果您的网站中有留言本等交互性页面,请务必设置验证码等防护措施,以免被黑客灌入大量数据,出现数据库持续变大的不利情况。
3、我们在设计程序时,请注意在页面的尾部加上数据库关闭代码,有利于网站的良好运行。代码示例如下:
Rs.Close
Set Rs=Nothing
Conn.Close
Set Conn=Nothing
2.3、压缩和修复
Access数据库如果长时间不维护,容易出现数据库过大、读取缓慢甚至损坏等现象,从而造成网站打开报错或异常,这时我们可以用微软的Access软件进行压缩和修复。
1、先暂停网站,让Access数据库不再读写。
2、通过FTP软件将Access数据库下载到本地电脑上。
3、复制这个数据库作为备份,以免修复失败造成数据库破坏。
4、用Access软件打开这个数据库。点击上方菜单栏中的工具->数据库实用工具,再点击压缩和修复数据库。
5、把修复好的数据库上传到空间中,覆盖原来的数据库。最后开启空间。
总结:对于mysql与access两个数据库的应用,如果网页没有生成HTML,可能会加大数据库的工作量,可能一些小型的企业网站感觉不到压力,但内容日渐增加会导致访问速度变慢,对于SEO优化来说,生成静态HTML才是最有利于seo的方法。