Optimisation de requêteL'optimisation de requête est une opération dans laquelle plusieurs plans d'exécution d'une requête SQL sont examinés pour en sélectionner le meilleur. L'estimation de leurs coûts dépend du temps d'exécution et du nombre de ressources utilisées pour y parvenir, elle se mesure en entrées-sorties. Typiquement les ressources coûteuses sont l'utilisation du processeur, la taille et la durée des tampons sur le disque dur, et les connexions entre les unités du parallélisme.
Language Integrated QueryLanguage Integrated Query ( « requête intégrée au langage », aussi connu sous le nom de LINQ) est un composant du framework .NET de Microsoft qui ajoute des capacités d'interrogation sur des données aux langages .NET en utilisant une syntaxe proche de celle de SQL. La plupart des concepts mis en place par LINQ ont été initialement testés dans un projet de recherche Microsoft nommé « Cω ». LINQ a été mis en production dans le cadre du framework , le .
Base de donnéesUne base de données permet de stocker et de retrouver des données structurées, semi-structurées ou des données brutes ou de l'information, souvent en rapport avec un thème ou une activité ; celles-ci peuvent être de natures différentes et plus ou moins reliées entre elles. Leurs données peuvent être stockées sous une forme très structurée (base de données relationnelles par exemple), ou bien sous la forme de données brutes peu structurées (avec les bases de données NoSQL par exemple).
Entity–attribute–value modelAn entity–attribute–value model (EAV) is a data model optimized for the space-efficient storage of sparse—or ad-hoc—property or data values, intended for situations where runtime usage patterns are arbitrary, subject to user variation, or otherwise unforseeable using a fixed design. The use-case targets applications which offer a large or rich system of defined property types, which are in turn appropriate to a wide set of entities, but where typically only a small, specific selection of these are instantated (or persisted) for a given entity.
Microsoft SQL ServerMicrosoft SQL Server est un système de gestion de base de données (SGBD) en langage SQL incorporant entre autres un SGBDR (SGBD relationnel ») développé et commercialisé par la société Microsoft. Il fonctionne sous les OS Windows et Linux (depuis ), mais il est possible de le lancer sur Mac OS via Docker, car il en existe une version en téléchargement sur le site de Microsoft. Histoire de Microsoft SQL Server Bien qu'il ait été initialement codéveloppé par Sybase et Microsoft, Ashton-Tate a également été associé à sa première version, sortie en 1989.
Langage de requêteUn langage de requête est un langage informatique utilisé pour accéder aux données d'une base de données ou d'autres systèmes d'information. Il permet d'obtenir les données vérifiant certaines conditions (on parle de critères de sélection), comme toutes les personnes qui habitent une ville donnée. Les données peuvent être triées, elles peuvent également être regroupées suivant les valeurs d'une donnée particulière (par exemple on va regrouper toutes les personnes qui habitent la même rue).
Modèle de donnéesEn informatique, un modèle de données est un modèle qui décrit la manière dont sont représentées les données dans une organisation métier, un système d'information ou une base de données. Le terme modèle de données peut avoir deux significations : Un modèle de données théorique, c'est-à-dire une description formelle ou un modèle mathématique. Voir aussi modèle de base de données Un modèle de données instance, c'est-à-dire qui applique un modèle de données théorique (modélisation des données) pour créer un modèle de données instance.
Web queryA web query or web search query is a query that a user enters into a web search engine to satisfy their information needs. Web search queries are distinctive in that they are often plain text and boolean search directives are rarely used. They vary greatly from standard query languages, which are governed by strict syntax rules as command languages with keyword or positional parameters. There are three broad categories that cover most web search queries: informational, navigational, and transactional.
Big dataLe big data ( « grosses données » en anglais), les mégadonnées ou les données massives, désigne les ressources d’informations dont les caractéristiques en termes de volume, de vélocité et de variété imposent l’utilisation de technologies et de méthodes analytiques particulières pour créer de la valeur, et qui dépassent en général les capacités d'une seule et unique machine et nécessitent des traitements parallélisés. L’explosion quantitative (et souvent redondante) des données numériques permet une nouvelle approche pour analyser le monde.
Optimisation de codeEn programmation informatique, l'optimisation de code est la pratique consistant à améliorer l'efficacité du code informatique d'un programme ou d'une bibliothèque logicielle. Ces améliorations permettent généralement au programme résultant de s'exécuter plus rapidement, de prendre moins de place en mémoire, de limiter sa consommation de ressources (par exemple les fichiers), ou de consommer moins d'énergie électrique. La règle numéro un de l'optimisation est qu'elle ne doit intervenir qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles.
Structured Query LanguageSQL (sigle de Structured Query Language, en français langage de requête structurée) est un langage informatique normalisé servant à exploiter des bases de données relationnelles. La partie langage de manipulation des données de SQL permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles.
Modélisation des donnéesDans la conception d'un système d'information, la modélisation des données est l'analyse et la conception de l'information contenue dans le système afin de représenter la structure de ces informations et de structurer le stockage et les traitements informatiques. Il s'agit essentiellement d'identifier les entités logiques et les dépendances logiques entre ces entités.
Plan d'exécutionEn informatique, et plus précisément dans le domaine des bases de données, un plan d'exécution est un schéma pas à pas des opérations d'accès aux données d'un système de gestion de base de données SQL. L'optimisation de requête consiste à étudier la meilleure manière d'exécuter une requête SQL. Comme les optimiseurs automatiques ne sont pas parfaits, les administrateurs de bases de données sont parfois amenés à examiner et préciser le plan d'exécution le plus rapide, par exemple en définissant l'algorithme de jointure à utiliser en tenant compte du volume des données manipulées.
Database modelA database model is a type of data model that determines the logical structure of a database. It fundamentally determines in which manner data can be stored, organized and manipulated. The most popular example of a database model is the relational model, which uses a table-based format. Common logical data models for databases include: Hierarchical database model This is the oldest form of database model. It was developed by IBM for IMS (information Management System), and is a set of organized data in tree structure.
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.
Extract-transform-loadExtract-transform-load est une technologie informatique intergicielle permettant d'effectuer des synchronisations massives d'information d'une source de données (le plus souvent une base de données) vers une autre. Cette technologie est connue sous le sigle ETL, ou extracto-chargeur. Selon le contexte, il s'agit d'exploiter différentes fonctions, souvent combinées entre elles : « extraction », « transformation », « constitution » ou « conversion », « alimentation » ou « chargement ».
Conjunctive queryIn database theory, a conjunctive query is a restricted form of first-order queries using the logical conjunction operator. Many first-order queries can be written as conjunctive queries. In particular, a large part of queries issued on relational databases can be expressed in this way. Conjunctive queries also have a number of desirable theoretical properties that larger classes of queries (e.g., the relational algebra queries) do not share.
Computational resourceIn computational complexity theory, a computational resource is a resource used by some computational models in the solution of computational problems. The simplest computational resources are computation time, the number of steps necessary to solve a problem, and memory space, the amount of storage needed while solving the problem, but many more complicated resources have been defined. A computational problem is generally defined in terms of its action on any valid input.
Vue matérialiséeEn informatique, dans les systèmes de gestion de base de données de type relationnel, une vue est une table virtuelle représentant le résultat d’une requête sur la base. Comme son nom l'indique et à la différence d'une vue standard, dans une vue matérialisée les données sont dupliquées. On l’utilise essentiellement à des fins d'optimisation et de performance dans le cas où la requête associée est particulièrement complexe ou lourde, ou pour faire des réplications de table.
Complexité en tempsEn algorithmique, la complexité en temps est une mesure du temps utilisé par un algorithme, exprimé comme fonction de la taille de l'entrée. Le temps compte le nombre d'étapes de calcul avant d'arriver à un résultat. Habituellement, le temps correspondant à des entrées de taille n est le temps le plus long parmi les temps d’exécution des entrées de cette taille ; on parle de complexité dans le pire cas. Les études de complexité portent dans la majorité des cas sur le comportement asymptotique, lorsque la taille des entrées tend vers l'infini, et l'on utilise couramment les notations grand O de Landau.