⑴ JAVA+sql server做Web程序,和JAVA+mysql做Web程序影響速度很大嗎
最近在做mssql轉換成mysql的工作,總結了點經驗,跟大家分享一下。
同時這些也會在不斷更新。也希望大家補充。
1 mysql支持enum,和set類型,sql server不支持
2 mysql不支持nchar,nvarchar,ntext類型
3 mysql的遞增語句是AUTO_INCREMENT,而mssql是identity(1,1)
4 msms默認到處表創建語句的默認值表示是((0)),而在mysql裡面是不允許帶兩括弧的
5 mysql需要為表指定存儲類型
6 mssql識別符是[],[type]表示他區別於關鍵字,但是mysql卻是 `,也就是按鍵1左邊的那個符號
7 mssql支持getdate()方法獲取當前時間日期,但是mysql裡面可以分日期類型和時間類型,獲取當前日期是cur_date(),當前完整時間是 now()函數
8 mssql不支持replace into 語句,但是在最新的sql20008裡面,也支持merge語法
9 mysql支持insert into table1 set t1 = 『』, t2 = 『』 ,但是mssql不支持這樣寫
10 mysql支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 mssql不支持limit語句,是非常遺憾的,只能用top 取代limt 0,N,row_number() over()函數取代limit N,M
12 mysql在創建表時要為每個表指定一個存儲引擎類型,而mssql只支持一種存儲引擎
13 mysql不支持默認值為當前時間的datetime類型(mssql很容易做到),在mysql裡面是用timestamp類型
14 mssql裡面檢查是否有這個表再刪除,需要這樣:
if exists (select * from dbo.sysobjects where id = object_id(N'uc_newpm') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
但是在mysql裡面只需要 DROP TABLE IF EXISTS cdb_forums;
15 mysql支持無符號型的整數,那麼比不支持無符號型的mssql就能多出一倍的最大數存儲
16 mysql不支持在mssql裡面使用非常方便的varchar(max)類型,這個類型在mssql裡面既可做一般數據存儲,也可以做blob數據存儲
17 mysql創建非聚集索引只需要在創建表的時候指定為key就行,比如:KEY displayorder (fid,displayorder) 在mssql裡面必須要:create unique nonclustered index index_uc_protectedmembers_username_appid on dbo.uc_protectedmembers
(username asc,appid asc)
18 mysql text欄位類型不允許有默認值
19mysql的一個表的總共欄位長度不超過65XXX。
20一個很表面的區別就是mysql的安裝特別簡單,而且文件大小才110M(非安裝版),相比微軟這個龐然大物,安裝進度來說簡直就是.....
21mysql的管理工具有幾個比較好的,mysql_front,和官方那個套件,不過都沒有SSMS的使用方便,這是mysql很大的一個缺點。
22mysql的存儲過程只是出現在最新的版本中,穩定性和性能可能不如mssql。
23 同樣的負載壓力,mysql要消耗更少的CPU和內存,mssql的確是很耗資源。
24php連接mysql和mssql的方式都差不多,只需要將函數的mysql替換成mssql即可。
25mysql支持date,time,year類型,mssql到2008才支持date和time。
⑵ SQL資料庫有什麼優點
SQL Server的優點眾多,讓其在資料庫領域獨占鰲頭,成為最受用戶歡迎的資料庫系統,下面就讓我們來了解SQL Server的優點和缺點。
SQL Server是一個關系資料庫管理系統,它最初是由Microsoft, Sybase和Ashton-Tate三家公司共同開發的於1988 年推出了第一個OS/2 版本,在Windows NT 推出後,Microsoft與Sybase在SQL Server的開發上就分道揚鑣了,Microsoft將SQL Server移植到Windows NT系統上專注於開發推廣SQL Server的Windows NT版本,Sybase則較專注於SQL Server在UNIX操作系統上的應用.Microsoft SQL Server以後簡稱為SQL Server或MS SQL Server 。
隨著信息技術的發展,計算機處理數據的方式也發生著變化,文件管理系統--資料庫管理系統。Microsoft SQL Server是一個分布式的關系型資料庫管理系統,具有客戶機/伺服器體系結構,採用了Transact-sql的sql語言在客戶機與伺服器間傳遞客戶機的請求與伺服器的處理結果。
眾所周知,SQL Server能夠滿足今天的商業環境要求不同類型的資料庫解決方案。它一種應用廣泛的資料庫管理系統,具有許多顯著的優點:易用性、適合分布式組織的可伸縮性、用於決策支持的數據倉庫功能、與許多其他伺服器軟體緊密關聯的集成性、良好的性價比等。性能、可伸縮性及可靠性是基本要求,而進入市場時間也非常關鍵。
除這些SQL Server的優點外,SQLServer還為您的數據管理與分析帶來了靈活性,允許單位在快速變化的環境中從容響應,從而獲得競爭優勢。從數據管理和分析角度看,將原始數據轉化為商業智能和充分利用Web帶來的機會非常重要。作為一個完備的資料庫和數據分析包,SQLServer為快速開發新一代企業級商業應用程序、為企業贏得核心競爭優勢打開了勝利之門。作為重要的基準測試可伸縮性和速度獎的記錄保持者,SQLServer是一個具備完全Web支持的資料庫產品,提供了對可擴展標記語言 (XML)的核心支持以及在Internet上和防火牆外進行查詢的能力。
SQL Server的優點眾多,但是Microsoft SQL Server和其他資料庫產品相比也存在著以下劣勢:
1開放性。只能運行在微軟的windows平台,沒有絲毫的開放性可言。
2可伸縮性,並行性。並行實施和共存模型並不成熟,很難處理日益增多的用戶數和數據卷,伸縮性有限。
3性能穩定性。SQLServer當用戶連接多時性能會變的很差,並且不夠穩定。
4使用風險。SQLServer完全重寫的代碼,經歷了長期的測試,不斷延遲,許多功能需時間來證明。並不十分兼容早期產品。使用需要冒一定風險。
5客戶端支持及應用模式。只支持C/S模式。
⑶ web開發時,用戶行為記錄日誌放到資料庫和文本各有什麼優缺點,大多數項目用哪一種,你比較推薦哪一種
我個人認為沒有太大區別。
資料庫存儲的方式更加容易匯總查詢。這種方式需要建立獨立庫,耗費伺服器資源,進入資料庫的條目也會出奇的多。。。
文本的格式只能是宏觀的去查看下。不過可以自定格式,分時間段記錄。查找起來也是很方便的。
大多數項目用的應該都是文本格式。這跟項目的性質有關系。
個人推薦 文本存儲。
⑷ Django和Flask這兩個框架在設計上各方面有什麼優缺點
(1)Flask
Flask確實很「輕」,不愧是Micro Framework,從Django轉向Flask的開發者一定會如此感慨,除非二者均為深入使用過
Flask自由、靈活,可擴展性強,第三方庫的選擇面廣,開發時可以結合自己最喜歡用的輪子,也能結合最流行最強大的Python庫
入門簡單,即便沒有多少web開發經驗,也能很快做出網站
非常適用於小型網站
非常適用於開發web服務的API
開發大型網站無壓力,但代碼架構需要自己設計,開發成本取決於開發者的能力和經驗
各方面性能均等於或優於Django
Django自帶的或第三方的好評如潮的功能,Flask上總會找到與之類似第三方庫
Flask靈活開發,Python高手基本都會喜歡Flask,但對Django卻可能褒貶不一
Flask與關系型資料庫的配合使用不弱於Django,而其與NoSQL資料庫的配合遠遠優於Django
Flask比Django更加Pythonic,與Python的philosophy更加吻合
(2)Django
Django太重了,除了web框架,自帶ORM和模板引擎,靈活和自由度不夠高
Django能開發小應用,但總會有「殺雞焉用牛刀」的感覺
Django的自帶ORM非常優秀,綜合評價略高於SQLAlchemy
Django自帶的模板引擎簡單好用,但其強大程度和綜合評價略低於Jinja
Django自帶ORM也使Django與關系型資料庫耦合度過高,如果想使用MongoDB等NoSQL數據,需要選取合適的第三方庫,且總感覺Django+SQL才是天生一對的搭配,Django+NoSQL砍掉了Django的半壁江山
Django目前支持Jinja等非官方模板引擎
Django自帶的資料庫管理app好評如潮
Django非常適合企業級網站的開發:快速、靠譜、穩定
Django成熟、穩定、完善,但相比於Flask,Django的整體生態相對封閉
Django是Python web框架的先驅,用戶多,第三方庫最豐富,最好的Python庫,如果不能直接用到Django中,也一定能找到與之對應的移植
Django上手也比較容易,開發文檔詳細、完善,相關資料豐富
⑸ 我想用SQL做後台,在WEB上實現資料庫編程,請問比較容易學習的前台編程語言是什麼
如果你以前一直用ACCESS+VB的話,那就用ASP+Access吧,因為ASP里也可以加入VBscript,它本身是VB的腳本語言,你肯定不在話下。再者說ASP也是微軟的產品,所以你很容易上手。並且你以前的編程經驗也能排上用場,可以讓你在最短的時間學會並應用。
⑹ Android連接sql資料庫使用jdbc或webservice應該都可以吧兩者有什麼優缺點和不同分別在哪種情況使用
jdbc和連接池對於你這個場景來說,都足夠,既然用spring管理了,建議還是使用連接池,另外,spring自身沒有實現連接池,一般都是對第三方連接池的包裝,常見的有C3P0,dbcp以及最近比較流行的boneCP等,這幾個配置都差不多太多,以boneCP為例:
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
<property name="idleConnectionTestPeriod" value="60" />
<property name="idleMaxAge" value="240" />
<property name="maxConnectionsPerPartition" value="30" />
<property name="minConnectionsPerPartition" value="10" />
<property name="partitionCount" value="2" />
<property name="acquireIncrement" value="5" />
<property name="statementsCacheSize" value="100" />
<property name="releaseHelperThreads" value="3" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
⑺ .net web開發有WEBFORM,MVC,EF等來開發,各有什麼優點和缺點
net web主要的優點就是速度快,因為.net web使用的語言是C#,C#做的程序就是事件+控制項,你比如使用EXTJS這個JS框架,C#只需要使用控制項就可以搞定,MVC、EF這些如果使用EXTJS框架,只能自己手寫代碼,MVC、EF開發網站的周期較.net web長
C#裡面使用ADO.NET連接資料庫又不像MVC(JavaEE),不同的資料庫操作引入不同的命名空間(Java裡面叫導入包),這個比Java方便得多,因為Java使用資料庫,必須找到對應版本資料庫的jar包才可以,否則無法操作資料庫,C#直接引入對應的命名空間,比如使用微軟的MSSQL資料庫,C#只需要導入System.Data,System.Data.SqlClient這兩個命名空間即可調用對應的資料庫操作類,但是Java不一樣,比如SQL2000和SQL2005使用的jar包是不一樣的,但是這C#使用這兩個資料庫直接導入System.Data,System.Data.SqlClient就可以了
C#使用AJAX也只需要使用一個控制項,而MVC、EF肯定要手寫
C#唯一的缺點是不能跨平台,也就是你開發的web網頁,只能部署在Windows裡面的IIS(Internet Informatica Server)伺服器上
MVC、EF可以跨平台,也就是就算你使用Linux都可以將網頁部署上去
⑻ Ajax的優點和缺點
優點:能在不更新整個頁面的前提下維護數據。這使得Web應用程序更為迅捷地回應用戶動作,並避免了在網路上發送那些沒有改變的信息。Ajax不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執行。
缺點:破壞瀏覽器的後退與加入收藏書簽功能。一個被完整讀入的頁面與一個已經被動態修改過的頁面之間的可能差別非常微妙;用戶通常都希望單擊後退按鈕,就能夠取消他們的前一次操作,但是在Ajax應用程序中,卻無法這樣做。
應用
Ajax前景非常樂觀,可以提高系統性能,優化用戶界面。Ajax現有直接框架AjaxPro,可以引入AjaxPro.2.dll文件,可以直接在前台頁面JavaScript調用後台頁面的方法。但此框架與表單驗證有沖突。另外微軟也引入了Ajax組件,需要添加AjaxControlToolkit。dll文件,可以在控制項列表中出現相關控制項。
以上內容參考:網路-ajax
⑼ C#和SQL生成的程序可以是.exe,dll 和web service,他們相比,各有什麼有點和缺點
exe是可執行的程序(一般是創建C#應用程序項目),DLL是一個動態庫(一般是創建C#庫項目時),Web Service 一般是用於網路布暑(分布式布暑的一種方式),exe程序調用DLL,WebService實現其功能,當然你也可以把功能寫在EXE上,如一個訪問資料庫的DLL和WebService,exe可以調用它來實現它的訪問資料庫功能,當然你也可以把這個功能放到EXE里,但不建議這樣做,因為一個較大項目都是幾個人開發的,DLL,WebService可以讓其中一個人去完成,並且可以通用到下一個項目.
SQL作為數據的載體而以,是存放數據的地方,如一個加解密工具也許並不會用上資料庫
⑽ web項目和資料庫安裝在一個伺服器上優缺點
缺點很明顯,死掉了就一起死掉了。一般我們伺服器都是分開的,網頁伺服器、數據伺服器,一般web伺服器不掉,那麼就可以正常使用,data伺服器掉了,那麼web還可以堅持一會。如果是web伺服器掉了,那麼就上不去了,不過有一些設置有web伺服器掉了就啟動data中的備份web模擬伺服器,可以在短時間內運行,節約問題。所以 必須要分兩個來安裝,對於大項目而言。如果沒有成本,又是小項目,那麼也就沒有辦法就一個伺服器。從好壞來分,那麼必須是兩台安全,一台只是減少了成本,價格低了。