Насколько Важный Мобильность SQL?

Вы можете добавить mouseenter и mouseleave, как показано ниже, чтобы действовать как при наведении курсора

$(document).ready(function() {
	$('.categorie-title').on('mouseenter', function () {
    $('.vertical-menu-list').slideDown();
  });
  $('.vertical-menu').on('mouseleave', function () {
    $('.vertical-menu-list').slideUp();
  });
});
li {
    list-style: none;
}
.vertical-menu {
    width: 100%;
    position: relative;
}
.vertical-menu > span {
    background: #03A9F4 none repeat scroll 0 0;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 15px;
    font-weight: 500;
    margin: 0;
    padding: 14px 30px 12px;
    position: relative;
    text-transform: uppercase;
    height: 49px;
}

.vertical-menu > span::after, .search-box-view .submit::before {
    content: "";
    font-family: FontAwesome;
    font-size: 18px;
    font-weight: normal;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
}

.has-mega-menu {
    line-height: 43px;
    float: left;
    padding: 0;
    background-color: #3e3e3e;
    width: 220px;
}

.vertical-menu-list {
    background: #fff none repeat scroll 0 0;
    left: 0;
    padding: 0 25px;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 999;
    border: 2px solid #03A9F4;
    border-top-width: 0;
}

.vertical-menu-list > li {
    position: relative;
}

.vertical-menu-list > li > a, .category-menu li a {
    color: #333;
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 19px;
    overflow-wrap: break-word;
    padding: 17px 0;
    position: relative;
    text-align: left;
    text-transform: capitalize;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.vertical-menu-list > li span, .category-sub li span {
    display: inline-block;
    width: 35px;
}

.vertical-menu-list > li:hover ul.ht-dropdown {
	visibility: visible;
    -webkiit-transform: scaleY(1);
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    opacity: 1;
}

.vertical-menu-list > li ul.megamenu {
    background: #fff none repeat scroll 0 0;
    border: 1px solid #e5e5e3;
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    left: 100%;
    padding: 10px;
    top: 0;
    width: 905px;
}

.vertical-menu-list .ht-dropdown:before {
    background-color: #fff;
    border-color: #f1f1f1 transparent transparent #f1f1f1;
    -o-border-image: none;
    border-image: none;
    border-style: solid;
    border-width: 1px;
    content: "";
    display: block;
    height: 15px;
    left: -8px;
    position: absolute;
    top: 21px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 15px;
}

.vertical-menu-list > li:nth-child(n) > a:after {
    content: "\f107";
    font-family: 'FontAwesome';
    position: absolute;
    top: 20px;
    right: 15px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.vertical-menu-list > li:nth-child(n):hover > a:after {
    -wekit-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.has-mega-menu a:hover {
    color: #03A9F4;
    white-space: normal;
    text-decoration: none;
}

.fix {
    overflow: hidden;
}

.ht-dropdown {
    background: #fff;
    left: 0;
    opacity: 0;
    padding: 10px 20px;
    position: absolute;
    top: 100%;
    -webkiit-transform: scaleY(0);
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0 0;
    transform-origin: 0 0 0;
    width: 150px;
    text-align: left;
    visibility: hidden;
    z-index: 99999999;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
}

.sub-menu.mega-menu {
    left: 100%;
    padding: 0;
    top: 0;
    background-color: #ffffff;
}

.sub-menu.mega-menu .row .mega-col {
    display: inline-block;
    position: relative;
    vertical-align: top;
    width: 20%;
    height: 100%;
    overflow: hidden;
}

.sub-menu.mega-menu .mega-content:last-child {
    border: medium none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.sub-menu.mega-menu .mega-item-title {
    font-size: 13px;
    font-family: sans-serif;
    text-align: left;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
}

ul.menu {
    float: left;
}

.megamenu ul {
    position: relative;
    margin: 0;
    padding: 0 15px;
}

.has-mega-menu ul.menu > li.menu-item {
    width: 100%;
    float: none;
    text-align: left;
    padding: 0 0 0 10px;
}

.main-menu ul li a, .megamenu ul li a {
    display: block;
    line-height: 1.5;
    font-size: 12px;
}

.menu-hidden {
    display: none;
}
<!DOCTYPE html>
<html lang="en">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
	<link rel="stylesheet" href="css/style.css">
</head>
<body>
    <div class="container">
		<div class="row">
		    <div class="col-lg-3 col-md-3 col-sm-4 hidden-xs">
		        <div class="vertical-menu">
		            <span class="categorie-title">All Categories </span>
		            <nav class="has-mega-menu">
		                <ul class="vertical-menu-list menu-hidden">
		                    <li>
								<a class="" href="javascript:void(0)"><span><i class="fa fa-leaf"></i></span>IT</a>
								<ul class="ht-dropdown megamenu">
									<li class="megamenu-three-column fix">
									<div class="sub-menu mega-menu">
										<div class="row">
											<ul class="mega-col"><li class="mega-content">
												<a href="#" class="mega-item-title">Components</a>
												<ul class="menu">
													<li class="menu-item"><a href="#">Motherboards</a></li>
													<li class="menu-item"><a href="#">Memories</a></li>
												</ul>
											</ul>
											<ul class="mega-col"><li class="mega-content">
												<a href="#" class="mega-item-title">Software</a>
												<ul class="menu">
													<li class="menu-item"><a href="#">Windows</a></li>
													<li class="menu-item"><a href="#">Office</a></li>
												</ul>
											</ul>
										</div>
									</div>
								</ul>	
							</li>
							<li>
								<a class="" href="javascript:void(0)"><span><i class="fa fa-black-tie"></i></span>Fashion</a>
								<ul class="ht-dropdown megamenu">
									<li class="megamenu-three-column fix">
									<div class="sub-menu mega-menu">
										<div class="row">
											<ul class="mega-col"><li class="mega-content">
												<a href="#" class="mega-item-title">Shoes</a>
												<ul class="menu">
													<li class="menu-item"><a href="#">Some Shoes</a></li>
													<li class="menu-item"><a href="#">Another Shoes</a></li>
												</ul>
											</ul>
											<ul class="mega-col"><li class="mega-content">
												<a href="#" class="mega-item-title">Dresses</a>
												<ul class="menu">
													<li class="menu-item"><a href="#">Dresses 1</a></li>
													<li class="menu-item"><a href="#">Dresses 2</a></li>
													<li class="menu-item"><a href="#">Dresses 3</a></li>
												</ul>
											</ul>
										</div>
									</div>
								</ul>	
							</li>
						</ul>
		            </nav>
		        </div>
		    </div>               
		</div>
	</div>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
	<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>	
</body>
</html>

6
задан dkretz 2 April 2009 в 07:05
поделиться

4 ответа

Мы относимся к нему очень серьезно в нашем магазине. Мы не позволяем нестандартный SQL или расширения, если они не поддерживаются на ВСЕХ основных платформах. Даже затем они отмечаются в рамках кода как нестандартные, и выравнивания необходимы.

Это не до разработчика приложений для создания их запросов выполненными быстро, у нас есть четкое разделение обязанностей. Запрос должен быть оптимизирован только самим DBMS или настройкой DBAs DBMS.

Реальные базы данных, как DB2/z :-), обрабатывают стандартный SQL много быстро.

Причина мы осуществляем это, состоит в том, чтобы дать клиентский выбор. Им не нравится идея быть больше заблокированными в определенного поставщика, чем мы.

6
ответ дан 8 December 2019 в 05:58
поделиться

Я голосую против стандартного/не зависящий от производителя продукта sql

  • Только редко база данных на самом деле переключается.
  • Нет никакой единой базы данных, которая полностью соответствует текущему sql стандарту. Таким образом, даже когда Вы типичны, соответствуют, Вы не не зависящий от производителя продукта.
  • различия поставщика идут вне синтаксиса SQL. Поведение при блокировании отличается. Уровни изоляции отличаются.
  • тестирование базы данных довольно жестко и под разработанным. Никакой потребности сделать его еще тяжелее путем броска нескольких поставщиков в игру, если Вы не делаете absolutly, нужен он.
  • существует много питания в поставщике определенные тонкие настройки. (думайте 'предел', или 'аналитические функции' или 'подсказки'),

Так квинтэссенция: - если нет никакого требования для независимости поставщика, будьте специализированы для поставщика, которого Вы на самом деле используете. - Если существует требование для независимости поставщика, удостоверяются что, кто когда-либо оплачивает счет, что это будет стоить денег. Удостоверьтесь, что Вы имеете каждый rdbms в наличии для тестирования. И используйте его также - Помещенный каждая часть sql в специальном слое, который является сменным, таким образом, можно использовать питание базы данных И работать с различными поставщиками - Только там, где различием является чистый вопрос синтаксиса, идут со стандартом, например, использованием нотации оракула для (внешних) соединений по сравнению с синтаксисом стандарта ANSI.

13
ответ дан 8 December 2019 в 05:58
поделиться

По моему опыту, мобильность запроса оказывается не настолько важной. Мы работаем с различными источниками данных (главным образом MSSQL и MySQL), но мы знаем, какие данные хранятся, где и может оптимизировать соответственно. Так как мы управляем системами, мы решаем, когда - если когда-нибудь - структуры перемещены и запросы должны быть переписаны.

Мне также нравится использовать определенную другую определенную для сервера функциональность, такую как уведомление о запросе в SQL Server, который не предлагает MySQL. Таким образом, там, снова, мы используем его, когда мы можем и не волноваться о мобильности.

Кроме того, части наших приложений должны запросить информацию о схеме и действовать на нее. Здесь, снова, у нас есть определенный для сервера код для различных систем, вместо того, чтобы пытаться ограничить нас наименьшим общим знаменателем.

2
ответ дан 8 December 2019 в 05:58
поделиться

Нет никакого четкого ответа, желательна ли мобильность SQL или не - она действительно во многом зависит от ситуации, такой как тип приложения.

Если приложение будет быть сервисом - т.е. только когда-либо будете Вы размещающий его, то, очевидно, никто, но Вы будете заботиться, является ли Ваш SQL достаточно портативным, таким образом, Вы могли безопасно проигнорировать его, пока у Вас нет определенных планов отбросить поддержку Вашей текущей платформы.

Если приложение будет установленным на многих сайтах, которые у каждого есть их собственные установленные системы баз данных, очевидно, мобильность SQL очень важна для людей. Это позволяет Вам расширить свой потенциальный рынок и может дать немного части ума клиентам, которые находятся на заборе в отношении их системы баз данных. Хотите ли Вы поддерживать это, или Вы - счастливая продажа только, например, клиенты Oracle, или только клиентам MySQL/PostgreSQL, например, ваше дело и что Вы думаете, что Ваш рынок.

Если Вы кодируете в PHP, то подавляющее большинство Ваших потенциальных клиентов, вероятно, собирается ожидать MySQL. Если так, затем это не имеет большого значения для принятия MySQL. Или так же если Вы находитесь в C#/.NET затем, Вы могли бы принять Microsoft SQL Server. Снова, однако, существует оборот, потому что там может существовать маленький, но менее конкурентный рынок PHP или пользователей.NET, которые хотят соединиться с другими системами баз данных, чем обычное.

Таким образом, я в основном рассматривал бы это как вопрос об исследовании рынка, если как в моем первом примере Вы не предоставляете размещенную услугу, где он не имеет значения для пользователей, в этом случае это для Вашего собственного удобства только.

1
ответ дан 8 December 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: